Jump to content


Photo

GStreamer HLS

gstreamer hls mediaplayer

  • Please log in to reply
5 replies to this topic

#1 athoik

  • PLi® Core member
  • 8,458 posts

+327
Excellent

Posted 17 November 2012 - 09:36

Hello everybody,


HLS is becoming more and more popular those days and many online services provide HLS streams (eg livestream.com).

Although OpenPli is not capable of playing HLS streams yet, the following message appears: "GStreamer plugin application/x-hls decoder not available!", although the gst-plugins-bad is installed.


Is there a hardware limitation (on dm800se) with the HLS?

Is there any way to enable HLS streaming on gst-plugins-bad?

If gst-plugins-bad is not an option maybe using the following project http://gitorious.net...ayer/hls-player there is a possibity to play HLS streams?

The idea is to use hls-player and save the stream and then mediaplayer will play the stream that hls-player saves (probably we need a named pipe here, mkfifo).

I woluld like to hear your opinion or your suggestions guys.


Thanks.
Wavefield T90: 0.8W - 1.9E - 4.8E - 13E - 16E - 19.2E - 23.5E - 26E - 33E - 39E - 42E - 45E on EMP Centauri DiseqC 16/1
Unamed: 13E Quattro - 9E Quattro on IKUSI MS-0916

Re: GStreamer HLS #2 pieterg

  • PLi® Core member
  • 32,766 posts

+245
Excellent

Posted 17 November 2012 - 20:58

there's an hls demux in gst-plugins-bad-fragmented, did you try to install that?

Re: GStreamer HLS #3 athoik

  • PLi® Core member
  • 8,458 posts

+327
Excellent

Posted 17 November 2012 - 23:06

Dear pieterg,

Indeed the gst-plugin-fragmented has a demux for the HLS. Thank you for the information.

gst-inspect | grep hls
fragmented:  hlsdemux: HLS Demuxer
typefindfunctions: application/x-hls: m3u8

Using HLS Demuxes it is possible to get only sound from that playlist http://xastratelevis...0/playlist.m3u8 (got a crash here)

eServiceMP3::state transition READY -> PAUSED
dont apply ac3 delay when no video is running!
dont apply pcm delay when no video is running!
eServiceMP3::async-done - 0 video, 1 audio, 0 subtitle
AUDIO STRUCT=audio/mpeg
eServiceMP3::audio stream=0 codec=audio/mpeg language=und
eServiceMP3::state transition PAUSED -> PLAYING
close frontend 1

** (enigma2:2073): CRITICAL **: gst_adapter_take_buffer: assertion `nbytes > 0' failed
PC: 2ad3710c
00000000 10008700 00000000 00000008
00000004 2b632370 00000010 2b632360
301d1530 00000090 00000012 74726573
00000000 00000040 2b788000 00000000
00000000 2d6314b8 2b81a874 2b818a78
00000000 01c46230 2ac9ecf4 01c44280
00000002 2ad37108 80800000 00000000
2aca5600 301d0b40 ffffffff 2abd6690
As a final action, i will try to dump a bit of code.
I just hope that this won't crash.
2ad3710c: 00 00 82 8c 08 00 e0 03 00 00 00 00 0f 00 00 00 00 00 82 c0 05 00 45 14 21 08 c0 00 00 00 81 e0 (end)
-------
Segmentation fault

Also i get only sound from that playlist http://www.nasa.gov/...Public-IPS.m3u8 (also got a crash here)

Finally thas playlist http://devimages.app...prog_index.m3u8 worked (voice & picture) but after waiting for a minute or more!


Using OpenPli 2.1 the HLS demuxing "almost" not working. Maybe the OpenPli 3.0 has better behaviour. If someone is testing nightly builds and is able to test the above lists (or HLS in general) please inform us, with the results.


Finally, using named pipe, and the python script i am attaching i was able to have all the above playlists working! It takes about 30 seconds (or more, even more) for mediaplayer to start, but it is working!

If the python script can work as an alternative way of playing HLS streams would be nice!

Thanks,

Attached Files


Edited by athoik, 17 November 2012 - 23:08.

Wavefield T90: 0.8W - 1.9E - 4.8E - 13E - 16E - 19.2E - 23.5E - 26E - 33E - 39E - 42E - 45E on EMP Centauri DiseqC 16/1
Unamed: 13E Quattro - 9E Quattro on IKUSI MS-0916

Re: GStreamer HLS #4 athoik

  • PLi® Core member
  • 8,458 posts

+327
Excellent

Posted 9 December 2012 - 20:34

Dear all,


Using a named pipe where we are writing data from a hls stream, always takes more than 30 seconds (sometimes a minute..) for a stream to begin displaying something.

Till now all my tries to reduce this time failed, (i tried chaning buffer but no luck).

I am using this library https://github.com/c...pa/livestreamer in order get HLS streams. Also the script attached on my previous post is good for test.

If there are suggestions i would like to head them. If someone has achieved to display HSL stream using named pipe immediately, i would like to know how!

Thanks
Wavefield T90: 0.8W - 1.9E - 4.8E - 13E - 16E - 19.2E - 23.5E - 26E - 33E - 39E - 42E - 45E on EMP Centauri DiseqC 16/1
Unamed: 13E Quattro - 9E Quattro on IKUSI MS-0916

Re: GStreamer HLS #5 superleok

  • Senior Member
  • 51 posts

0
Neutral

Posted 10 December 2012 - 09:28

Hello,

i think you have to wait until PLI has updated GStreamer to the version 1.x.

I read an arcticle by the University of Aalborg. There is a Cooperation between Nokia and CMI. They have extend the gstreamer code to play adaptive HLS streams. The program code has been submitted to the gstreamer project.

http://www.cmi.aau.d...ve-hls.cid67849

If you can't wait. I found a simple HLS Player written in Python:

http://code.google.com/p/hls-player/

Re: GStreamer HLS #6 athoik

  • PLi® Core member
  • 8,458 posts

+327
Excellent

Posted 11 December 2012 - 17:55

Dear @superleok,

Thanks for the information regarding the gstreamer. I hope OpenPli to adapt those changes, when they will be available.

I didn't try the hls-player you are mentioning, but i am all ready tried two python implementation of hls. Both implementations are piping stream to file. Then mediaplayer is opening that file (pipe).

It takes more than 30+ seconds to start displaying something!

I tried with the following:

Python HLS library/client: https://github.com/c...pa/livestreamer
Python HLS simple client: http://openpli.org/f...attach_id=50096


RTMP streams using pipe to file start immediately.
Wavefield T90: 0.8W - 1.9E - 4.8E - 13E - 16E - 19.2E - 23.5E - 26E - 33E - 39E - 42E - 45E on EMP Centauri DiseqC 16/1
Unamed: 13E Quattro - 9E Quattro on IKUSI MS-0916



2 user(s) are reading this topic

0 members, 2 guests, 0 anonymous users