The following GStreamer pipeline generates an mpeg2ts with an mpeg2 video track.
gst-launch-1.0 videotestsrc pattern=ball num-buffers=900 ! "video/x-raw, format=(string)I420,
width=(int)704, height=(int)576, framerate=(fraction)25/1" ! avenc_mpeg2video !
mpegtsmux ! filesink location=test.ts
I need the video to be interlaced, but when adding the interlace component, I get:
gst-launch-1.0 videotestsrc pattern=ball num-buffers=900 ! "video/x-raw, format=(string)I420,
width=(int)704, height=(int)576, framerate=(fraction)25/1" ! interlace ! avenc_mpeg2video !
mpegtsmux name=mux ! filesink location=test.ts
WARNING: erroneous pipeline: could not link interlace0 to avenc_mpeg2video0
Which is odd to me, as both components seem to support e.g. I420 on their pads. I've tried adding various capsfilters between interlace and avenc_mpeg2video, but to no avail - it just fails connecting in other ways. I believe the two should be compatible - can someone explain why the above fails and maybe even show what a working pipeline should look like?
question from:
https://stackoverflow.com/questions/65923072/interlaced-mpeg2-video-with-avenc-mpeg2video-gstreamer 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…