[gst-devel] mpeg2enc problem

Li Juan GUO li-juan.guo at st.com
Thu Aug 25 03:49:06 CEST 2005


Hi all,

I am using v4lsrc and mpeg2enc to capture and encode video stream.

pipeline1 does not work.

pipeline1:
gst-launch-0.8 -v v4lsrc ! video/x-raw-yuv, format=(fourcc)I420, width=320,
height=240  ! mpeg2enc ! filesink location=v2.mpg RUNNING pipeline ...
ERROR: pipeline doesn't want to play.



but if I first capture video raw data to a file, and then encode this file
using mpeg2enc, it can work.

pipeline2:
 gst-launch-0.8 -v v4lsrc ! video/x-raw-yuv, format=(fourcc)I420, width=320,
height=240, framerate=28.125 ! filesink location=v1.raw RUNNING pipeline ...
/pipeline0/v4lsrc0.src: caps = video/x-raw-yuv, format=(fourcc)I420,
width=(int)320, height=(int)240, framerate=(double)28.125
/pipeline0/filesink0.sink: caps = video/x-raw-yuv, format=(fourcc)I420,
width=(int)320, height=(int)240, framerate=(double)28.125
/pipeline0/v4lsrc0.src: active = TRUE
/pipeline0/filesink0.sink: active = TRUE
Execution ended after 338 iterations (sum 11186183000 ns, average 33095215
ns, min 4266000 ns, max 57571000 ns). Caught interrupt.
/pipeline0/v4lsrc0.src: active = FALSE
/pipeline0/filesink0.sink: active = FALSE
/pipeline0/v4lsrc0.src: caps = NULL
/pipeline0/filesink0.sink: caps = NULL

pipeline3:
gst-launch-0.8 -v filesrc location=v1.raw blocksize=115200 !
video/x-raw-yuv, format=(fourcc)I420, width=320, height=240 ! filesink
location=v1.mpg RUNNING pipeline ...
/pipeline0/filesrc0.src: caps = video/x-raw-yuv, format=(fourcc)I420,
width=(int)320, height=(int)240
/pipeline0/filesink0.sink: caps = video/x-raw-yuv, format=(fourcc)I420,
width=(int)320, height=(int)240
/pipeline0/filesrc0.src: active = TRUE
/pipeline0/filesink0.sink: active = TRUE
/pipeline0/filesrc0.src: active = FALSE
/pipeline0/filesink0.sink: active = FALSE
Execution ended after 339 iterations (sum 975107000 ns,
average 2876421 ns, min 271000 ns, max 58477000 ns).
/pipeline0/filesrc0.src: caps = NULL
/pipeline0/filesink0.sink: caps = NULL
[root at localhost gstmedia]# gst-launch-0.8 -v filesrc location=v1.raw
blocksize=115200 ! video/x-raw-yuv, format=(fourcc)I420, width=320,
height=240 ! mpeg2enc ! filesink location=v1.mpg RUNNING pipeline ...
/pipeline0/filesrc0.src: caps = video/x-raw-yuv, format=(fourcc)I420,
width=(int)320, height=(int)240, framerate=(double)23.976023976023978
/pipeline0/mpeg2enc0.sink: caps = video/x-raw-yuv, format=(fourcc)I420,
width=(int)320, height=(int)240, framerate=(double)23.976023976023978
/pipeline0/filesrc0.src: active = TRUE
/pipeline0/mpeg2enc0.sink: active = TRUE
/pipeline0/mpeg2enc0.src: active = TRUE
/pipeline0/filesink0.sink: active = TRUE
/pipeline0/mpeg2enc0.src: caps = video/mpeg, systemstream=(boolean)false,
mpegversion=(int)1, width=(int)320, height=(int)240,
framerate=(double)23.976023976023978
/pipeline0/filesink0.sink: caps = video/mpeg, systemstream=(boolean)false,
mpegversion=(int)1, width=(int)320, height=(int)240,
framerate=(double)23.976023976023978
/pipeline0/filesrc0.src: active = FALSE
/pipeline0/filesink0.sink: active = FALSE
/pipeline0/mpeg2enc0.sink: active = FALSE
/pipeline0/mpeg2enc0.src: active = FALSE
Execution ended after 2 iterations (sum 4612399000 ns, average 2306199500
ns, min 320000 ns, max 4612079000 ns).
/pipeline0/filesrc0.src: caps = NULL
/pipeline0/mpeg2enc0.sink: caps = NULL
/pipeline0/mpeg2enc0.src: caps = NULL
/pipeline0/filesink0.sink: caps = NULL


In my work, I should encode video stream coming from camera. but now I have
no idea how to solve this problem in pipeline1 . 

Could you give me some idea?

Thanks a lot.

Best Regards
Lijuan





More information about the gstreamer-devel mailing list