Feature #871
Use libdvbcsa instead of FFdecsa
| Status: | Rejected | Start date: | 02/09/2012 | |
|---|---|---|---|---|
| Priority: | Low | Due date: | ||
| Assignee: | - | % Done: | 0% | |
| Category: | Descrambling | |||
| Target version: | - |
Description
Please consider switching Tvheadend to using libdvbcsa instead of FFdecsa.
libdvbcsa (http://www.videolan.org/developers/libdvbcsa.html) has a number of advantages:
Atheros AR7161
- It is faster (higher throughput in packets(#Mbits)/sec), important for use on low-end or embedded hardware
- It works on both big-endian and little-endian architectures, verified on Atheros AR7161 (big-endian MIPS) router
- It is being actively development/maintained, while development of FFdecsa seems all but halted
There are some minor problems:
API difference. While both libraries have a concept of 'packet clusters' (array of pointers to packet info), FFdecsa uses the raw packet data, while libdvbcsa uses the packet payload(sp?) meaning one has to add a 4-byte offset.
Also, libdvbcsa doesn't have a concept of 'even' or 'odd' keys, it can decrypt a packet cluster with any given key. One needs to manually assign packets to 2 clusters, one for 'even', 'one' for odd key decryption.
Also, libdvbcsa is normally an Autotools project, so the integration in standalone Tvheadend will need to be done.
Kind regards,
Alain
History
#1
Updated by Hein Rigolo over 1 year ago
Could try to provide a patch to replace ffdecsa with libdvbcsa?
#2
Updated by Alain Kalker over 1 year ago
I'm working on it :-)
#3
Updated by Alain Kalker over 1 year ago
- File libdvbcsa.patch
added
Ok, so here is my first preliminary patch, against andoma's master.
I haven't integrated libdvbcsa into the tvheadend source tree yet, so you need to build and install libdvbcsa before you build tvheadend.
I've tested the code word client using a HDHomerun HDHR3-EU (great little box, by the way) on DVB-C, using Irdeto2 CA with OScam, including decrypting multiple channels simultaneously. CPU usage on a Core(TM)2 Duo E7500 @ 2.93GHz is about 8%, 11% when decrypting two channels.
#4
Updated by B. J. over 1 year ago
Yes, it runs here too with libdvbcsa. CPU-Load is about 11% on AMD 4450e@2GHz. But bug #829 is still there. The cwc-client floods my server with around 100.000
global emms in about 10 minutes. If i use a oscam-proxy on the same machine blocking global emms the cpu-load runs up to 99% for the oscam process.
B.J.
#5
Updated by Alain Kalker over 1 year ago
Thanks for the info, B. J.
I have sent a pull request to Andreas for this change, hope it will be integrated.
#6
Updated by Adam Sutton 11 months ago
- Category set to Descrambling
- Priority changed from Normal to Low
#7
Updated by Adam Sutton 7 months ago
- Status changed from New to Rejected
Closing this, It's not been updated in ages. There is actually a PR in github related to this, but again there has been no input for ages and its no longer compatible.
Adam