비디오의 "벽"(기본적으로 2x2 매트릭스)을 생성하기 위해 Gstreamer를 사용하여 4 개의 비디오 (MKV 컨테이너, Mjpeg 코덱, 초당 25 프레임, 5 분 길이) . 나는 다음과 같은 파이프 라인을 사용하고 있습니다 :Gstreamer 파이프 라인, 의도 한대로 작동하지 않는 비디오
이#!/bin/sh
gst-launch -e videomixer name=mix ! ffmpegcolorspace ! jpegenc ! avimux ! filesink location=$1.avi \
uridecodebin uri="file://${PWD}/$1/1.mkv" ! videoscale ! videorate ! video/x-raw-yuv,width=300,height=200, framerate=25/1 ! videobox border-alpha=0 top=0 left=0 ! mix. \
uridecodebin uri="file://${PWD}/$1/2.mkv" ! videoscale ! videorate ! video/x-raw-yuv,width=300,height=200,framerate=25/1 ! videobox border-alpha=0 top=0 left=-300 ! mix. \
uridecodebin uri="file://${PWD}/$1/3.mkv" ! videoscale ! videorate ! video/x-raw-yuv,width=300,height=200,framerate=25/1 ! videobox border-alpha=0 top=-200 left=0 ! mix. \
uridecodebin uri="file://${PWD}/$1/4.mkv" ! videoscale ! videorate ! video/x-raw-yuv,width=300,height=200,framerate=25/1 ! videobox border-alpha=0 top=-200 left=-300 ! mix. \
코드가 작동을하지만, 최종 결과는 겨우 17 초 동안 대신에 원본 동영상과 같은 5 분이며, 내가 videorate 요소를 사용하고처럼은 보이지 않는다 올바르게 - 출력 비디오는 원래 비디오의 속도를 유지하는 대신 프레임을 읽을 수있게 무작위로 "속도를 높이는"것처럼 보입니다.
흥미롭게도 원본 파일이 .wmv (Windows Media 9 코덱)이면 모든 것이 잘 작동하는 것처럼 보입니다. 어떤 아이디어?