Discussion:
Streaming GoPro with GStreamer 1.0
(too old to reply)
nmrony
2015-10-22 14:36:45 UTC
Permalink
Hi all,

We are trying to stream *GoPro Hero 4*. We are trying this pipeline below

*gst-launch-1.0 -e -v udpsrc port=8554 ! video/mpegts,
systemstream=\(boolean\)true, packetsize=\(int\)188 ! tsdemux !
autovideosink*

Which output is

*/Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps =
"video/mpegts\,\ systemstream\=\(boolean\)true\,\ packetsize\=\(int\)188"
/GstPipeline:pipeline0/GstTSDemux:tsdemux0.GstPad:sink: caps =
"video/mpegts\,\ systemstream\=\(boolean\)true\,\ packetsize\=\(int\)188"/*

But not showing any *autovideosink* popup.

Does anybody tried streaming GoPro HERO 4 with GStreamer 1.6.0?

Thanks in advance




--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/Streaming-GoPro-with-GStreamer-1-0-tp4674216.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.
Nicolas Dufresne
2015-10-22 15:07:23 UTC
Permalink
Post by nmrony
Hi all,
We are trying to stream *GoPro Hero 4*. We are trying this pipeline below
It would seem Go Pro streaming is HLS, not transport stream over UDP.
It has also been reported to run a broken HLS server, which we don't
fully workaround yet.

https://bugzilla.gnome.org/show_bug.cgi?id=740461

Nicolas
Tim Müller
2015-10-22 15:28:54 UTC
Permalink
On Thu, 2015-10-22 at 07:36 -0700, nmrony wrote:

Hi,
Post by nmrony
We are trying to stream *GoPro Hero 4*. We are trying this pipeline below
*gst-launch-1.0 -e -v udpsrc port=8554 ! video/mpegts,
systemstream=\(boolean\)true, packetsize=\(int\)188 ! tsdemux !
autovideosink*
Which output is (snip)
But not showing any *autovideosink* popup.
You will also need a decoder after tsdemux.

Try something like:

gst-launch-1.0 -e -v udpsrc port=8554 ! queue ! decodebin !
videoconvert ! videoscale ! autovideosink

but that will only give you video.

gst-launch-1.0 -e -v udpsrc port=8554 ! queue ! decodebin name=d \
d. ! queue ! videoconvert ! videoscale ! autovideosink \
d. ! queue ! audioconvert ! audioresample ! autoaudiosink

should give you video and audio.

Or just:

gst-launch-1.0 -e -v playbin uri=udp://127.0.0.1:8554

Cheers
-Tim
--
Tim Müller, Centricular Ltd - http://www.centricular.com
nmrony
2015-10-27 06:16:42 UTC
Permalink
Hi,

I have tried your pipeline in debug level 2 and getting the following
warnings which repeating from various packets.

/0:00:33.803580000 803 0x7fca7b8ebad0 WARN tsdemux
tsdemux.c:1910:gst_ts_demux_queue_data: CONTINUITY: Mismatch packet 14,
stream 11
0:00:33.803629000 803 0x7fca7b8ebad0 WARN mpegtspacketizer
mpegtspacketizer.c:2298:mpegts_packetizer_pts_to_ts: Not enough information
to calculate proper timestamp
0:00:33.843509000 803 0x7fca7b8ebad0 WARN mpegtspacketizer
mpegtspacketizer.c:2298:mpegts_packetizer_pts_to_ts: Not enough information
to calculate proper timestamp
0:00:33.883600000 803 0x7fca7b8ebad0 WARN mpegtspacketizer
mpegtspacketizer.c:2298:mpegts_packetizer_pts_to_ts: Not enough information
to calculate proper timestamp
0:00:33.905278000 803 0x7fca7b8ebad0 WARN mpegtspacketizer
mpegtspacketizer.c:2298:mpegts_packetizer_pts_to_ts: Not enough information
to calculate proper timestamp
0:00:33.943716000 803 0x7fca7b8ebad0 WARN mpegtspacketizer
mpegtspacketizer.c:2298:mpegts_packetizer_pts_to_ts: Not enough information
to calculate proper timestamp
0:00:33.983788000 803 0x7fca7b8ebad0 WARN mpegtspacketizer
mpegtspacketizer.c:2298:mpegts_packetizer_pts_to_ts: Not enough information
to calculate proper timestamp
0:00:34.009836000 803 0x7fca7b8ebad0 WARN mpegtspacketizer
mpegtspacketizer.c:2298:mpegts_packetizer_pts_to_ts: Not enough information
to calculate proper timestamp/

How to remove these warning?

Thanks in advance
Post by Tim Müller
Hi,
Post by nmrony
We are trying to stream *GoPro Hero 4*. We are trying this pipeline below
*gst-launch-1.0 -e -v udpsrc port=8554 ! video/mpegts,
systemstream=\(boolean\)true, packetsize=\(int\)188 ! tsdemux !
autovideosink*
Which output is (snip)
But not showing any *autovideosink* popup.
You will also need a decoder after tsdemux.
gst-launch-1.0 -e -v udpsrc port=8554 ! queue ! decodebin !
videoconvert ! videoscale ! autovideosink
but that will only give you video.
gst-launch-1.0 -e -v udpsrc port=8554 ! queue ! decodebin name=d \
d. ! queue ! videoconvert ! videoscale ! autovideosink \
d. ! queue ! audioconvert ! audioresample ! autoaudiosink
should give you video and audio.
gst-launch-1.0 -e -v playbin uri=udp://127.0.0.1:8554
Cheers
-Tim
--
Tim Müller, Centricular Ltd - http://www.centricular.com
_______________________________________________
gstreamer-devel mailing list
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/Streaming-GoPro-with-GStreamer-1-0-tp4674216p4674273.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.
Loading...