Cannot encode stream using x264enc
William Metcalf
wmetcalf at niftytv.com
Tue Jun 7 12:14:44 PDT 2011
Matt, I have tried finishing the pipeline to account for audio and video
just as you have suggested already and I get the same error.
Tim, I am*not*exactly sure how to post a bug about gst-plugins-ugly on
bugzilla, but below this is the standard output, and the error output of
my pipeline if you want to add the bug to bugzilla yourself.
Thanks,
William
Output:
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
/GstPipeline:pipeline0/GstTheoraDec:theoradec0.GstPad:sink: caps =
video/x-theora, width=(int)720, height=(int)400,
framerate=(fraction)25/1, pixel-aspect-ratio=(fraction)1/1
/GstPipeline:pipeline0/GstTheoraDec:theoradec0.GstPad:src: caps =
video/x-raw-yuv, format=(fourcc)I420, framerate=(fraction)25/1,
pixel-aspect-ratio=(fraction)1/1, width=(int)720, height=(int)400
/GstPipeline:pipeline0/GstFFMpegCsp:ffmpegcsp0.GstPad:src: caps =
video/x-raw-yuv, format=(fourcc)I420, framerate=(fraction)25/1,
pixel-aspect-ratio=(fraction)1/1, width=(int)720, height=(int)400
/GstPipeline:pipeline0/GstFFMpegCsp:ffmpegcsp0.GstPad:sink: caps =
video/x-raw-yuv, format=(fourcc)I420, framerate=(fraction)25/1,
pixel-aspect-ratio=(fraction)1/1, width=(int)720, height=(int)400
ERROR: from element /GstPipeline:pipeline0/GstX264Enc:x264enc0:
Could*not*encode stream.
/GstPipeline:pipeline0/GstX264Enc:x264enc0.GstPad:src: caps =
video/x-h264, width=(int)720, height=(int)400, framerate=(fraction)25/1,
stream-format=(string)avc
Additional debug info:
..\..\..\..\..\Source\gst-plugins-ugly\ext\x264\gstx264enc.c(737):
gst_x264_enc_header_buf (): /GstPipeline:pipeline0/GstX264Enc:x264enc0:
Unexpected x264 header.
Setting pipeline to NULL ...
/GstPipeline:pipeline0/GstX264Enc:x264enc0.GstPad:sink: caps =
video/x-raw-yuv, format=(fourcc)I420, framerate=(fraction)25/1,
pixel-aspect-ratio=(fraction)1/1, width=(int)720, height=(int)400
/GstPipeline:pipeline0/GstQTMux:qtmux0.GstPad:src: caps = NULL
/GstPipeline:pipeline0/GstX264Enc:x264enc0.GstPad:src: caps = NULL
/GstPipeline:pipeline0/GstX264Enc:x264enc0.GstPad:sink: caps = NULL
/GstPipeline:pipeline0/GstFFMpegCsp:ffmpegcsp0.GstPad:src: caps = NULL
/GstPipeline:pipeline0/GstFFMpegCsp:ffmpegcsp0.GstPad:sink: caps = NULL
/GstPipeline:pipeline0/GstTheoraDec:theoradec0.GstPad:src: caps = NULL
/GstPipeline:pipeline0/GstTheoraDec:theoradec0.GstPad:sink: caps = NULL
/GstPipeline:pipeline0/GstOggDemux:oggdemux0.GstOggPad:serial_0dcdfd30:
caps = NULL
/GstPipeline:pipeline0/GstOggDemux:oggdemux0.GstOggPad:serial_6c22f681:
caps = NULL
Freeing pipeline ...
Error Output:
** (gst-launch-0.10:1208): CRITICAL **: file
..\..\..\Source\gstreamer\gst\gstinfo.c: line 470: assertion `category
!= NULL' failed
** (gst-launch-0.10:1208): CRITICAL **: file
..\..\..\Source\gstreamer\gst\gstinfo.c: line 470: assertion `category
!= NULL' failed
** (gst-launch-0.10:1208): CRITICAL **: file
..\..\..\Source\gstreamer\gst\gstinfo.c: line 470: assertion `category
!= NULL' failed
** (gst-launch-0.10:1208): CRITICAL **: file
..\..\..\Source\gstreamer\gst\gstinfo.c: line 470: assertion `category
!= NULL' failed
0:00:00.182018000 1208 016C2E20 INFO x264enc
.:0::<x264enc0> using SAR=1/1
0:00:00.184018000 1208 016C2E20 INFO x264enc
.:0::<x264enc0> using cpu capabilities: MMX2 SSE2Fast SSSE3 Cache64
0:00:00.209021000 1208 016C2E20 INFO x264enc
.:0::<x264enc0> profile Main, level 3.0
0:00:00.209021000 1208 016C2E20 WARN x264enc
gstx264enc.c:737:gst_x264_enc_header_buf:<x264enc0> error: Unexpected
x264 header.
ERROR: pipeline doesn't want to preroll.
0:00:00.221022000 1208 006F07D8 LOG x264enc
.:0::<x264enc0> frame= 0 QP=10.00 NAL=3 Slice:I Poc:0 I:1125 P:0
SKIP:0 size=783 bytes
0:00:00.222022000 1208 006F07D8 INFO x264enc
.:0::<x264enc0> frame I:1 Avg QP:10.00 size: 783
0:00:00.222022000 1208 006F07D8 INFO x264enc
.:0::<x264enc0> mb I I16..4: 99.9% 0.0% 0.1%
0:00:00.222022000 1208 006F07D8 INFO x264enc
.:0::<x264enc0> coded y,uvDC,uvAC intra: 0.0% 0.0% 0.0%
0:00:00.222022000 1208 006F07D8 INFO x264enc
.:0::<x264enc0> i16 v,h,dc,p: 96% 0% 4% 0%
0:00:00.222022000 1208 006F07D8 INFO x264enc
.:0::<x264enc0> i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 0% 0% 100% 0% 0% 0%
0% 0% 0%
0:00:00.223022000 1208 006F07D8 INFO x264enc
.:0::<x264enc0> kb/s:156.60
On 6/7/2011 1:56 PM, Matt Veenstra wrote:
> Try putting in a "queue" after "theoradec". All of my pipelines do
> that. Not sure if this is a requirement and would cause this error or
> not.
>
> If your source has audio you might need to deal with this stream as
> well. I forget the details when not using "gnolin". So something
> like this...
> gst-launch filesrc location="c:\\video(low_res).ogg" ! oggdemux name="demux"
> .demux ! theoradec ! ffmpegcolorspace ! x264enc ! qtmux name="mux" !
> filesink location="c:\\video(blah).mp4
> .demux ! vorbisdec ! audioconvert ! faac ! .mux
>
> Cheers,
> Matt
>
> On Tue, Jun 7, 2011 at 11:42 AM, William Metcalf<wmetcalf at niftytv.com> wrote:
>> Running with videoparse did not solve the problem. When I run it with the
>> -v option, I get the following output.
>>
>> C:\Users\wmetcalf>gst-launch -v filesrc location="c:\\video(low_res).ogg" !
>> oggdemux ! theoradec ! ffmpegcolorspace ! x264enc ! qtmux ! filesink
>> location="c:\\video(blah).mp4
>> Setting pipeline to PAUSED ...
>> Pipeline is PREROLLING ...
>> /GstPipeline:pipeline0/GstTheoraDec:theoradec0.GstPad:sink: caps =
>> video/x-theora, width=(int)720, height=(int)400, framerate=(fraction)25/1,
>> pixel-aspect-ratio=(fraction)1/1
>> /GstPipeline:pipeline0/GstTheoraDec:theoradec0.GstPad:src: caps =
>> video/x-raw-yuv, format=(fourcc)I420, framerate=(fraction)25/1,
>> pixel-aspect-ratio=(fraction)1/1, width=(int)720, height=(int)400
>> /GstPipeline:pipeline0/GstFFMpegCsp:ffmpegcsp0.GstPad:src: caps =
>> video/x-raw-yuv, format=(fourcc)I420, framerate=(fraction)25/1,
>> pixel-aspect-ratio=(fraction)1/1, width=(int)720, height=(int)400
>> /GstPipeline:pipeline0/GstFFMpegCsp:ffmpegcsp0.GstPad:sink: caps =
>> video/x-raw-yuv, format=(fourcc)I420, framerate=(fraction)25/1,
>> pixel-aspect-ratio=(fraction)1/1, width=(int)720, height=(int)400
>> ERROR: from element /GstPipeline:pipeline0/GstX264Enc:x264enc0: Could not
>> encode stream.
>> Additional debug info:
>> ..\..\..\..\..\Source\gst-plugins-ugly\ext\x264\gstx264enc.c(737):
>> gst_x264_enc_header_buf (): /GstPipeline:pipeline0/GstX264Enc:x264enc0:
>> Unexpected x264 header.
>> ERROR: pipeline doesn't want to preroll.
>> /GstPipeline:pipeline0/GstX264Enc:x264enc0.GstPad:src: caps = video/x-h264,
>> width=(int)720, height=(int)400, framerate=(fraction)25/1,
>> stream-format=(string)avc
>> /GstPipeline:pipeline0/GstX264Enc:x264enc0.GstPad:sink: caps =
>> video/x-raw-yuv, format=(fourcc)I420, framerate=(fraction)25/1,
>> pixel-aspect-ratio=(fraction)1/1, width=(int)720, height=(int)400
>> Setting pipeline to NULL ...
>> /GstPipeline:pipeline0/GstQTMux:qtmux0.GstPad:src: caps = NULL
>> /GstPipeline:pipeline0/GstX264Enc:x264enc0.GstPad:src: caps = NULL
>> /GstPipeline:pipeline0/GstX264Enc:x264enc0.GstPad:sink: caps = NULL
>> /GstPipeline:pipeline0/GstFFMpegCsp:ffmpegcsp0.GstPad:src: caps = NULL
>> /GstPipeline:pipeline0/GstFFMpegCsp:ffmpegcsp0.GstPad:sink: caps = NULL
>> /GstPipeline:pipeline0/GstTheoraDec:theoradec0.GstPad:src: caps = NULL
>> /GstPipeline:pipeline0/GstTheoraDec:theoradec0.GstPad:sink: caps = NULL
>> /GstPipeline:pipeline0/GstOggDemux:oggdemux0.GstOggPad:serial_0dcdfd30: caps
>> = NULL
>> /GstPipeline:pipeline0/GstOggDemux:oggdemux0.GstOggPad:serial_6c22f681: caps
>> = NULL
>> Freeing pipeline ...
>>
>>
>> It seems to me like the caps are correct to my understanding. The sink of
>> the decoder is theora, and it outputs raw. FFMPCS takes in raw and ouputs
>> raw, and x264enc takes in raw and outputs h264. Can you see something else
>> that is wrong or is my understanding incorrect?
>>
>> Thank you,
>> William
>>
>> On 6/7/2011 1:31 PM, sudarshan bisht wrote:
>>
>> You can try using videoparse before x264enc. And use -v option with
>> gst-launch to get some caps related logs.
>>
>>
>> On Tue, Jun 7, 2011 at 6:33 PM, William Metcalf<wmetcalf at niftytv.com>
>> wrote:
>>> I have a pipeline I am using to convert an .ogg file to an .mp4. I am
>>> currently using ffenc_mpeg4 to encode the video, and this encoder sets the
>>> video format as .mp4v. I need my video to be encoded as AVC so I am trying
>>> to use x264enc instead. However every time I try to use x264enc, I get the
>>> error "failed to encode stream". Below is a sample pipeline I am using in
>>> my converter. Can any one tell my why x264enc is failing to encode the
>>> stream? Thank you in advance.
>>>
>>> gst-launch filesrc location="c:\\video(low_res).ogg" ! oggdemux !
>>> theoradec ! ffmpegcolorspace ! x264enc ! qtmux ! filesink
>>> location="c:\\video(blah).mp4
>>> _______________________________________________
>>> gstreamer-devel mailing list
>>> gstreamer-devel at lists.freedesktop.org
>>> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>>
>>
>> --
>> Regards,
>>
>> Sudarshan Bisht
>>
>> _______________________________________________
>> gstreamer-devel mailing list
>> gstreamer-devel at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>>
>>
>> _______________________________________________
>> gstreamer-devel mailing list
>> gstreamer-devel at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>>
>>
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20110607/7860dca0/attachment.html>
More information about the gstreamer-devel
mailing list