2012-09-13 4 views
0

GStreamer videomixer 플러그인을 사용하여 라이브 소스와 라이브가 아닌 소스를 혼합하는 방법은 무엇입니까? (일부 MPEG 비디오) & videotestsrc을videotestsrc와 uridecodebin을 GStreamer/videomixer와 함께 사용할 수 없습니다.

gst-launch \ 
videomixer name=mix sink_0::zorder=0 sink_1::zorder=1 ! ffmpegcolorspace ! autovideosink \ 
uridecodebin uri=file:///test.mpg ! timeoverlay ! videoscale ! video/x-raw-yuv,width=704 ,height=576 ! queue ! mix.sink_0 \ 
videotestsrc ! video/x-raw-yuv, width=176,height=144 ! queue ! mix.sink_1 

하지만 MPEG 비디오에 소스를 모두 변경하는 경우 작동이

gst-launch 
videomixer name=mix sink_0::zorder=0 sink_1::zorder=1 ! ffmpegcolorspace ! autovideosink 
uridecodebin uri=file:///test.mpg ! timeoverlay ! videoscale ! video/x-raw-yuv,width=704 ,height=576 ! queue ! mix.sink_0 
uridecodebin uri=file:///test.mpg ! timeoverlay ! videoscale ! video/x-raw-yuv,width=176,height=144 ! queue ! mix.sink_1 

답변

0

보인다 uridecodebin 혼합 할 때

GST 발사는 아무것도 보여주지 나는 어리석은 실수를 저질렀다. 여기 내 자신의 질문에 대한 내 대답은 다음과 같습니다. 위의 명령과 테스트 된 비디오 클립은 서로 다른 비디오 형식을 출력합니다. videotestsrc의 비디오 형식을 I420으로 강제 한 후에도 정상적으로 작동합니다.

여기에 믹스 명령입니다

GST-출시 -v videomixer 이름 = sink_0 :: zOrder를 = 0 sink_1 :: zOrder를 = 1을 혼합! ffmpegcolorspace! autovideosink uridecodebin uri = file : ///media/sf_share/test.mpg! 시간 오버레이! videoscale! video/x-raw-yuv, 너비 = 704, 높이 = 576! videorate force-fps = -1! 대기열! mix.sink_0 videotestsrc! video/x-raw-yuv, width = 352, height = 288, format = (fourcc) I420! 시간 오버레이! 대기열! mix.sink_1

관련 문제