<html><head></head><body><pre>Le jeudi 14 mai 2015 à 09:27 +0530, Nitin Mahajan a écrit :</pre><blockquote type="cite"><div dir="ltr"><div>Hello,</div><div> </div><div>Thanks to share your opinion wrt below for encrypted TS stream (MPEG2 TS with CAS) usecases with gstreamer</div><div> </div><div>example pipeline with playbin will be something like this-</div><div>dvbsrc -> recorder -> decodebin -> xx</div><div><br>(1) Pipeline Creation Issues with Encrypted TS streams where TS </div><div>header is also encrypted with playbin. Typefind element at entry of decodebin, the "force-caps" property can be set to run in bypass mode but then it would still require patch inside playbin/decodebin to force connection of typefind with mpegtsdemux (content is encrypted) and for other media containers (mediaplayer) we let typefind work as usual and find the suitable demuxer.</div></div></blockquote><div><br></div><div>If TS is encrypted, then your source should set difference media type, so playbin can plug a decrypter before the demuxer. If the TS is not, ideally this should follow a standard for TS file, and caps should reflect that in a way that the decoder won't be considered enough, so playbin will plug your decrypter. If this encryption is custom (non-standard), then I'd say the right approach is to replace/wrap the demuxer into your own, with a higher rank.</div><div><br></div><div>HLS encrypt files, instead of container packet, this is also a good solution. Key exchange and stuff is all kept at higher level.</div><div><br></div><blockquote type="cite"><div dir="ltr"><div> </div><div>(2) Another scenario - TS Header not encrypted but payload encrypted. Here it is expected that TS typefind can work without problem <br></div><div>Or instead of playin, start exploring customized pipelines with complete functionalities similar to playbin..</div></div></blockquote><div><br></div><div>This is the play-ready technique iirc. The idea is that demuxer, and parsers will work as usually. Seeking code isn't affected either. Though, if not done well, the decoder and the decrypter can be confused. Again, something in the container should be reflected in the caps in order to force the need to plug the decrypter before. Most likely only standards will be accepted upstream (so far nobody seems to agree on anything)</div><div><br></div><div>Hope this helps a bit,</div><div>Nicolas</div></body></html>