Use libdvbcsa instead of FFdecsa
Please consider switching Tvheadend to using libdvbcsa instead of FFdecsa.
libdvbcsa (http://www.videolan.org/developers/libdvbcsa.html) has a number of advantages:
- 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.
#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.