GNOME Bugzilla – Bug 551580
problems with lame ! ffmux_mpeg
Last modified: 2012-12-17 18:43:25 UTC
Hi, I use gstreamer to recod my webcam to some OGG/Vorbis+Theora video file, and then, i can't read it back using gstreamer. To create the file i use: gst-launch-0.10 v4l2src ! video/x-raw-yuv,width=640,height=480 ! tee name=img ! queue ! xvimagesink img. ! ffmpegcolorspace ! queue ! videorate ! video/x-raw-rgb,rate=15/1 ! ffmpegcolorspace ! theoraenc ! oggmux name=mux ! filesink location=foo.ogg alsasrc ! audio/x-raw-int,channels=1,rate=22025,depth=16 ! queue ! audioconvert ! vorbisenc ! mux. (you can replace v4l2src by videotestsrc, the bug still happens) Then, to convert to MPEG2, i would like to use the following command line: gst-launch-0.10 filesrc location=foo.ogg ! decodebin name=demux demux. ! queue ! ffmpegcolorspace ! ffenc_mpeg2video ! video/mpeg ! queue ! mux. demux. ! queue ! audioconvert ! lame ! audio/mpeg ! queue ! mux. ffmux_mpeg name=mux ! filesink location=foo.mpeg But then: Setting pipeline to PAUSED ... Pipeline is PREROLLING ... ERROR: from element /pipeline0/mux: Internal GStreamer error: negotiation problem. Please file a bug at http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer. Additional debug info: gstffmpegmux.c(381): gst_ffmpegmux_collected (): /pipeline0/mux: no caps set on stream 1 (audio) ERROR: pipeline doesn't want to preroll. Setting pipeline to NULL ... FREEING pipeline ... Ideally, GStreamer should be able to read the files it created :) I use the packages compiled for ArchLinux, the package versions are: extra/gstreamer0.10 0.10.20-1 extra/gstreamer0.10-bad 0.10.7-1 extra/gstreamer0.10-bad-plugins 0.10.7-3 (gstreamer0.10-plugins) extra/gstreamer0.10-base 0.10.20-1 extra/gstreamer0.10-base-plugins 0.10.20-1 (gstreamer0.10-plugins) extra/gstreamer0.10-ffmpeg 0.10.4-1 (gstreamer0.10-plugins) extra/gstreamer0.10-good 0.10.8-1 extra/gstreamer0.10-good-plugins 0.10.8-4 (gstreamer0.10-plugins) extra/gstreamer0.10-python 0.10.12-1 extra/gstreamer0.10-ugly 0.10.8-1 extra/gstreamer0.10-ugly-plugins 0.10.8-1 (gstreamer0.10-plugins) Thanks for any help. Mildred
Looks like some element (lame presumably) doesn't set caps on the outgoing buffers. I'm not aware of this being a problem otherwise, so maybe the bug is elsewhere - I think we would have noticed before if this was in fact the problem. With git of things, I get for $ gst-launch-0.10 audiotestsrc ! lame ! mp3parse ! ffmux_mpeg ! fakesink just an endless stream of error debug messages: :00:00.304304059 12855 0x7e5bf0 ERROR ffmpeg :0:: buffer underflow i=0 bufi=339 size=418 Do you get those as well if you run gst-launch with $ GST_DEBUG=*:1 gst-launch-0.10 ... Btw (unrelated, I think, but still): - the video framerate is set via the "framerate" field, not the "rate" field (re. the capsfilter after videorate) - you don't need the audio/mpeg capsfilter after lame, but you might need/want an mp3parse
No additional info for more than 3 years, let's close this. Please re-open if you still have problems with GStreamer 1.0 and gst-libav 1.x, thanks!