After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 724414 - rtmpsrc: Can't play live streams
rtmpsrc: Can't play live streams
Status: RESOLVED NOTABUG
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
git master
Other Mac OS
: Normal normal
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks: 724415
 
 
Reported: 2014-02-15 11:48 UTC by Bastien Nocera
Modified: 2014-02-20 10:46 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Bastien Nocera 2014-02-15 11:48:57 UTC
Using "livestreamer" I can watch a live RTMP stream (seems to use vlc to do the streaming by default).

URL: https://github.com/chrippa/livestreamer

$ livestreamer -j euronews.com best -l debug
{
  "params": {
    "swfUrl": "http://euronews.com/media/player_live_1_14.swf", 
    "live": true, 
    "playpath": "fr_video750_rtp.sdp", 
    "rtmp": "rtmp://fr-par-10-stream-relay.hexaglobe.net/rtpeuronewslive/"
  }, 
  "type": "rtmp"
}

$ livestreamer -j euronews.com
will start the playback

Trying to play that same stream fails:
$ gst-play-1.0 "rtmp://fr-par-10-stream-relay.hexaglobe.net/rtpeuronewslive/fr_video750_rtp.sdp playpath=fr_video750_rtp.sdp swfVfy=1 swfUrl=http://euronews.com/media/player_live_1_14.swf live=1"
Now playing rtmp://fr-par-10-stream-relay.hexaglobe.net/rtpeuronewslive/fr_video750_rtp.sdp playpath=fr_video750_rtp.sdp swfVfy=1 swfUrl=http://euronews.com/media/player_live_1_14.swf live=1
Prerolling...
(gst-play-1.0:27936): GStreamer-CRITICAL **: gst_mini_object_ref: assertion 'mini_object != NULL' failed

(gst-play-1.0:27936): GStreamer-CRITICAL **: gst_mini_object_ref: assertion 'mini_object != NULL' failed

(gst-play-1.0:27936): GStreamer-CRITICAL **: gst_mini_object_ref: assertion 'mini_object != NULL' failed
Redistribute latency...

(gst-play-1.0:27936): GStreamer-CRITICAL **: gst_mini_object_ref: assertion 'mini_object != NULL' failed

(gst-play-1.0:27936): GStreamer-CRITICAL **: gst_mini_object_ref: assertion 'mini_object != NULL' failed

(gst-play-1.0:27936): GStreamer-CRITICAL **: gst_mini_object_ref: assertion 'mini_object != NULL' failed

(gst-play-1.0:27936): GStreamer-CRITICAL **: gst_mini_object_ref: assertion 'mini_object != NULL' failed

(gst-play-1.0:27936): GStreamer-CRITICAL **: gst_mini_object_ref: assertion 'mini_object != NULL' failed

(gst-play-1.0:27936): GStreamer-CRITICAL **: gst_mini_object_ref: assertion 'mini_object != NULL' failed

(gst-play-1.0:27936): GStreamer-CRITICAL **: gst_mini_object_ref: assertion 'mini_object != NULL' failed

(gst-play-1.0:27936): GStreamer-CRITICAL **: gst_mini_object_ref: assertion 'mini_object != NULL' failed

(gst-play-1.0:27936): GStreamer-CRITICAL **: gst_mini_object_ref: assertion 'mini_object != NULL' failed

(gst-play-1.0:27936): GStreamer-CRITICAL **: gst_mini_object_ref: assertion 'mini_object != NULL' failed

(gst-play-1.0:27936): GStreamer-CRITICAL **: gst_mini_object_ref: assertion 'mini_object != NULL' failed

(gst-play-1.0:27936): GStreamer-CRITICAL **: gst_mini_object_ref: assertion 'mini_object != NULL' failed

(gst-play-1.0:27936): GStreamer-CRITICAL **: gst_mini_object_ref: assertion 'mini_object != NULL' failed

(gst-play-1.0:27936): GStreamer-CRITICAL **: gst_mini_object_ref: assertion 'mini_object != NULL' failed

(gst-play-1.0:27936): GStreamer-CRITICAL **: gst_mini_object_ref: assertion 'mini_object != NULL' failed

(gst-play-1.0:27936): GStreamer-CRITICAL **: gst_mini_object_ref: assertion 'mini_object != NULL' failed

(gst-play-1.0:27936): GStreamer-CRITICAL **: gst_mini_object_ref: assertion 'mini_object != NULL' failed

(gst-play-1.0:27936): GStreamer-CRITICAL **: gst_mini_object_ref: assertion 'mini_object != NULL' failed

(gst-play-1.0:27936): GStreamer-CRITICAL **: gst_mini_object_ref: assertion 'mini_object != NULL' failed

(gst-play-1.0:27936): GStreamer-CRITICAL **: gst_mini_object_ref: assertion 'mini_object != NULL' failed

(gst-play-1.0:27936): GStreamer-CRITICAL **: gst_mini_object_ref: assertion 'mini_object != NULL' failed

(gst-play-1.0:27936): GStreamer-CRITICAL **: gst_mini_object_ref: assertion 'mini_object != NULL' failed

(gst-play-1.0:27936): GStreamer-CRITICAL **: gst_mini_object_ref: assertion 'mini_object != NULL' failed

(gst-play-1.0:27936): GStreamer-CRITICAL **: gst_mini_object_ref: assertion 'mini_object != NULL' failed

(gst-play-1.0:27936): GStreamer-CRITICAL **: gst_mini_object_ref: assertion 'mini_object != NULL' failed

(gst-play-1.0:27936): GStreamer-CRITICAL **: gst_mini_object_ref: assertion 'mini_object != NULL' failed

(gst-play-1.0:27936): GStreamer-CRITICAL **: gst_mini_object_ref: assertion 'mini_object != NULL' failed

(gst-play-1.0:27936): GStreamer-CRITICAL **: gst_caps_intersect_full: assertion 'GST_IS_CAPS (caps1)' failed

(gst-play-1.0:27936): GStreamer-CRITICAL **: gst_caps_is_empty: assertion 'GST_IS_CAPS (caps)' failed

(gst-play-1.0:27936): GStreamer-CRITICAL **: gst_mini_object_unref: assertion 'mini_object != NULL' failed

(gst-play-1.0:27936): GStreamer-CRITICAL **: gst_mini_object_ref: assertion 'mini_object != NULL' failed

(gst-play-1.0:27936): GStreamer-CRITICAL **: gst_caps_intersect_full: assertion 'GST_IS_CAPS (caps1)' failed

(gst-play-1.0:27936): GStreamer-CRITICAL **: gst_caps_is_empty: assertion 'GST_IS_CAPS (caps)' failed

(gst-play-1.0:27936): GStreamer-CRITICAL **: gst_mini_object_unref: assertion 'mini_object != NULL' failed

(gst-play-1.0:27936): GStreamer-CRITICAL **: gst_mini_object_ref: assertion 'mini_object != NULL' failed

(gst-play-1.0:27936): GStreamer-CRITICAL **: gst_caps_intersect_full: assertion 'GST_IS_CAPS (caps1)' failed

(gst-play-1.0:27936): GStreamer-CRITICAL **: gst_caps_is_empty: assertion 'GST_IS_CAPS (caps)' failed

(gst-play-1.0:27936): GStreamer-CRITICAL **: gst_mini_object_unref: assertion 'mini_object != NULL' failed

(gst-play-1.0:27936): GStreamer-CRITICAL **: gst_mini_object_ref: assertion 'mini_object != NULL' failed

(gst-play-1.0:27936): GStreamer-CRITICAL **: gst_caps_intersect_full: assertion 'GST_IS_CAPS (caps1)' failed

(gst-play-1.0:27936): GStreamer-CRITICAL **: gst_caps_is_empty: assertion 'GST_IS_CAPS (caps)' failed

(gst-play-1.0:27936): GStreamer-CRITICAL **: gst_mini_object_ref: assertion 'mini_object != NULL' failed

(gst-play-1.0:27936): GStreamer-CRITICAL **: gst_mini_object_unref: assertion 'mini_object != NULL' failed

(gst-play-1.0:27936): GStreamer-CRITICAL **: gst_mini_object_ref: assertion 'mini_object != NULL' failed

(gst-play-1.0:27936): GStreamer-CRITICAL **: gst_mini_object_ref: assertion 'mini_object != NULL' failed

(gst-play-1.0:27936): GStreamer-CRITICAL **: gst_caps_intersect_full: assertion 'GST_IS_CAPS (caps1)' failed

(gst-play-1.0:27936): GStreamer-CRITICAL **: gst_caps_is_empty: assertion 'GST_IS_CAPS (caps)' failed

(gst-play-1.0:27936): GStreamer-CRITICAL **: gst_mini_object_unref: assertion 'mini_object != NULL' failed
ERROR Internal data flow error. for rtmp://fr-par-10-stream-relay.hexaglobe.net/rtpeuronewslive/fr_video750_rtp.sdp playpath=fr_video750_rtp.sdp swfVfy=1 swfUrl=http://euronews.com/media/player_live_1_14.swf live=1
ERROR debug information: gstbasesrc.c(2865): gst_base_src_loop (): /GstPlayBin:playbin/GstURIDecodeBin:uridecodebin0/GstRTMPSrc:source:
streaming task paused, reason not-negotiated (-4)
Reached end of play list.
Comment 1 Thiago Sousa Santos 2014-02-20 04:42:22 UTC
I just tried with latest git and it worked for me.

Can you still reproduce with latest git? Do can you provide a GST_DEBUG=6 debug log or a backtrace for those assertions?

Thanks
Comment 2 Bastien Nocera 2014-02-20 10:46:18 UTC
Not sure what state my system was in, but I'm guessing newer GStreamer with everything else old.

Plays back fine in against master and the latest 1.2 releases, thanks.