Create HLS Stream from external HW H264 Encoder
franz
franz at inparty-fm.de
Tue Oct 23 11:26:09 UTC 2018
No Ideas!? I cant believe.
Von meinem Samsung Galaxy Smartphone gesendet.
-------- Ursprüngliche Nachricht --------Von: Franz Löseke <franz at inparty-fm.de> Datum: 21.10.18 15:06 (GMT+01:00) An: Discussion of the development of and with GStreamer <gstreamer-devel at lists.freedesktop.org> Betreff: Re: Create HLS Stream from external HW H264 Encoder
PS: here is a test of the stream. Just black with audio:
http://89.245.108.130:8000/ext
This is a dynamic ip so after the reconnect on monday (21.10.2018)
morning it will not work anymore.
Zitat von Franz Löseke <franz at inparty-fm.de>:
> Hello. I have tried many things but now i have no idea what happen.
> I want to stream a HLS from an external H264 Encoder. This encoder
> creates a HTTP TS and a rtsp stream. As i know for HLS a TS is
> needed. If i use the videotestsrc everything works fine but if i
> take the source from the http stream then gstreamer creates one
> single hlsfile and no playlist.
> This is my line for the videotest:
>
> gst-launch-1.0 videotestsrc is-live=true ! x264enc ! mpegtsmux !
> hlssink max-files=3 playlist-root=http://192.168.178.60
> location=/var/www/html/hlsstream%01d.ts target-duration=5
> playlist-location=/var/www/html/playlist.m3u8
>
>
> This for the external encoder:
>
> gst-launch-1.0 souphttpsrc location=http://192.168.178.100:8000/ext
> is-live=true ! h264parse ! mpegtsmux ! hlssink max-files=5
> target-duration=8 playlist-root=http://192.168.178.60
> location=/var/www/html/hlsstream%01d.ts
> playlist-location=/var/www/html/playlist.m3u8
>
> I tried also without mpegtsmux (because i think it is TS as the
> description of the encoder says). Here just one .ts file will be
> created and not splitted as the first test command.
>
>
> In verbose mode i get these messages:
>
>
>
> Setting pipeline to PAUSED ...
> Pipeline is live and does not need PREROLL ...
> Setting pipeline to PLAYING ...
> New clock: GstSystemClock
> /GstPipeline:pipeline0/GstH264Parse:h264parse0.GstPad:src: caps =
> video/x-h264, width=(int)1280, height=(int)720,
> framerate=(fraction)0/1, parsed=(boolean)true,
> stream-format=(string)byte-stream, alignment=(string)au, profi
> le=(string)main, level=(string)3.1
> /GstPipeline:pipeline0/MpegTsMux:mpegtsmux0.GstPad:sink_65: caps =
> video/x-h264, width=(int)1280, height=(int)720,
> framerate=(fraction)0/1, parsed=(boolean)true,
> stream-format=(string)byte-stream, alignment=(string)au, prof
> ile=(string)main, level=(string)3.1
> /GstPipeline:pipeline0/MpegTsMux:mpegtsmux0.GstPad:src: caps =
> video/mpegts, systemstream=(boolean)true, packetsize=(int)188
> /GstPipeline:pipeline0/GstHlsSink:hlssink0.GstGhostPad:sink.GstProxyPad:proxypad0: caps = video/mpegts, systemstream=(boolean)true,
> packetsize=(int)188
> /GstPipeline:pipeline0/GstHlsSink:hlssink0/GstMultiFileSink:multifilesink0.GstPad:sink: caps = video/mpegts, systemstream=(boolean)true,
> packetsize=(int)188
> /GstPipeline:pipeline0/GstHlsSink:hlssink0.GstGhostPad:sink: caps =
> video/mpegts, systemstream=(boolean)true, packetsize=(int)188
> /GstPipeline:pipeline0/MpegTsMux:mpegtsmux0.GstPad:src: caps =
> video/mpegts, systemstream=(boolean)true, packetsize=(int)188,
> streamheader=(buffer)<
> 47400030a600ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
>
> fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffffffffffffffffffffff0000b00d0001c100000001e020a2c32941, 474020308b00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0002b0280001c10000e041f00c050448444d5688040ffffcfc1be041f00a050848444d56ff1b4 43f5a3175c0
> >
> /GstPipeline:pipeline0/GstHlsSink:hlssink0.GstGhostPad:sink.GstProxyPad:proxypad0: caps = video/mpegts, systemstream=(boolean)true, packetsize=(int)188, streamheader=(buffer)< 47400030a600fffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000b00d0001c100000001e020a2c32941, 474020308b00fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0002b0280001c10000e041f00c050448444d5688040ffffcfc 1be041f00a050848444d56ff1b443f5a3175c0
> >
> /GstPipeline:pipeline0/GstHlsSink:hlssink0/GstMultiFileSink:multifilesink0.GstPad:sink: caps = video/mpegts, systemstream=(boolean)true, packetsize=(int)188, streamheader=(buffer)< 47400030a600ffffffffffffffffffffffffffffff fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000b00d0001c100000001e020a2c32941, 474020308b00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0002b0280001c10000e041f00c050448444d5688040ff ffcfc1be041f00a050848444d56ff1b443f5a3175c0
> >
> /GstPipeline:pipeline0/GstHlsSink:hlssink0.GstGhostPad:sink: caps =
> video/mpegts, systemstream=(boolean)true, packetsize=(int)188,
> streamheader=(buffer)<
> 47400030a600fffffffffffffffffffffffffffffffffffffffffffffffffffffffff
>
> fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffff0000b00d0001c100000001e020a2c32941, 474020308b00fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0002b0280001c10000e041f00c050448444d5688040ffffcfc1be041f00a050848444d56 ff1b443f5a3175c0
> >
>
>
>
>
> Is there anybody who have a sollution for that? Other question. What
> happen if the encoder is temporaly not available?
>
> Regards
>
> Franz
>
>
>
>
>
>
>
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
_______________________________________________
gstreamer-devel mailing list
gstreamer-devel at lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20181023/5c830fc9/attachment.html>
More information about the gstreamer-devel
mailing list