Feature #871
Use libdvbcsa instead of FFdecsa
0%
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
Files
History
Updated by Hein Rigolo over 12 years ago
Could try to provide a patch to replace ffdecsa with libdvbcsa?
Updated by Alain Kalker over 12 years ago
- File libdvbcsa.patch 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.
Updated by B. J. over 12 years 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.
Updated by Alain Kalker over 12 years ago
Thanks for the info, B. J.
I have sent a pull request to Andreas for this change, hope it will be integrated.
Updated by Adam Sutton over 12 years ago
- Category set to Descrambling
- Priority changed from Normal to Low
Updated by Adam Sutton almost 12 years 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