How to construct the pipeline for hls videos (AES encrypted or not)

silver sxhsxhsxh66 at gmail.com
Tue May 17 09:17:03 UTC 2016


I'm new to gstreamer. I want to realize an iOS app to play hls videos by
gstreamer. I use the version 1.6.4. I followed some tutorials on the
internet so I got the following pipeline: 

souphttpsrc location=some_m3u8_url ! hlsdemux ! tsdemux name=mux  mux. !
queue ! h264parse ! avdec_h264 ! autovideosink  mux. ! queue ! aacparse !
faad ! autoaudiosink 

I found some hls video urls to test but strangely, it partially worked. 
Sometimes it plays the video during several seconds and then it stops and it
gives: Error received from element hlsdemux0: Internal data stream error. 
Sometimes it dose not play the video but just shows the first frame of this
video. 

I also tried playbin, decodebin and uridecodebin (like: uridecodebin
uri=some_m3u8-url buffer-size=10000000 name=u  u. ! videoconvert !
autovideosink  u. ! audioconvert ! audioresample ! autoaudiosink), but they
didn't work. Error message like: 
Buffering 4% 
Buffering 8% 
Error received from element hlsdemux0: GStreamer encountered a general
stream error. 
OR 
Buffering 40% 
Buffering 90% 
PLAYING 
PAUSED 
Error received from element hlsdemux0: Internal data stream error. 
In Xcode, error message: GLib (gthread-posix.c): Unexpected error from C
library during 'pthread_mutex_lock': Invalid argument.  Aborting. 

These kinds of error made me upset for weeks and I could not find any help.
Further more, what I need is to also play the encrypted video, but I have no
idea if this function is integrated or not. 

Hope someone can help me or give me some suggestions. Thanks a lot! 

PS: Dev environment: Xcode 7.3, iOS 9.3.1 (ipad).



--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/How-to-construct-the-pipeline-for-hls-videos-AES-encrypted-or-not-tp4677603.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.


More information about the gstreamer-devel mailing list