GNOME Bugzilla – Bug 664175
x264enc ! avimux results in not-negotiated flow error
Last modified: 2011-11-17 00:54:22 UTC
= trace = Le pipeline a terminé la phase PREROLL... Passage du pipeline à la phase PLAYING... New clock: GstSystemClock ERREUR : de l'élément /GstPipeline:pipeline0/GstAviMux:avimux0 : Internal GStreamer error: negotiation problem. Please file a bug at http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer. Information de débogage supplémentaire : gstavimux.c(2092): gst_avi_mux_do_one_buffer (): /GstPipeline:pipeline0/GstAviMux:avimux0: pad video_00 not negotiated Execution ended after 131008 ns. = how to reproduce = gst-launch -v filesrc location=shell-20111116-4.webm ! matroskademux ! vp8dec ! x264enc ! avimux ! filesink location=video.avi = infos = gst-launch -v filesrc location=shell-20111116-4.webm ! matroskademux ! vp8dec ! x264enc ! qtmux ! filesink location=video.mov works fine
What's the output of: - gst-inspect-0.10 avimux | grep Version - gst-inspect-0.10 x264enc | grep Version - gst-launch-0.10 -v filesrc location=shell-20111116-4.webm ! matroskademux ! vp8dec ! x264enc ! avimux ! fakesink Could you run: $ GST_DEBUG=*:5 gst-launch-0.10 -v filesrc location=shell-20111116-4.webm ! matroskademux ! vp8dec ! x264enc ! avimux ! fakesink 2>dbg.log $ gzip dbg.log and attach dbg.log.gz to this bug report please?
Created attachment 201515 [details] log with GST_DEBUG=*:5 $ gst-inspect-0.10 avimux | grep Version Version: 0.10.30 $ gst-inspect-0.10 x264enc | grep Version Version: 0.10.18 $ gst-launch-0.10 -v filesrc location=shell-20111116-4.webm ! matroskademux ! vp8dec ! x264enc ! avimux ! fakesink ... ERROR: from element /GstPipeline:pipeline0/GstAviMux:avimux0: Internal GStreamer error: negotiation problem. Please file a bug at http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer. Additional debug info: gstavimux.c(2092): gst_avi_mux_do_one_buffer (): /GstPipeline:pipeline0/GstAviMux:avimux0: pad video_00 not negotiated ...
For what it's worth, this works for me with git (but fails with last release as you describe). The reason seems to be that avimux wants h264 in stream-format=(string)byte-stream for some reason (I'm assuming this is correct), but x264enc outputs stream-format=(string)avc instead. It should work if you force output to byte-stream using x264enc byte-stream=true. The version in git tries to be smarter about figuring out the right output format automatically.