2

Linux で実行されるコマンド ライン ビデオ ツールを探しています。これはスクリプト可能で、内部にモザイク ビデオを含むビデオを出力できます。問題は、モザイク ビデオを出力内で変更する必要があることです。4*4 のモザイク ビデオを想像してみてください。ただし、入力ビデオは 16 個よりも多いため、たとえば 10 秒ごとにモザイク内のタイルを別のビデオに変更する必要があります。

モザイク出力を生成できるコマンド ライン VLC ツールと avisynth を見つけましたが、上記のビデオの変更をサポートしていません。

誰かが他のオプションを知っていますか?

前もって感謝します!

4

2 に答える 2

0

AviSynthはビデオに参加できるため、スクリプト内でいつでもビデオソースを変更できます。

たとえば、次のサンプルでは、​​4つの入力の左上のビデオが6秒後に別のビデオに変わります。

v11 = AviSource("SomeSampleVideo.avi", false). \
  Crop(0, 0, 320, 240).AssumeFPS(25).ConvertToRGB32.Trim(0, 150).FadeOut(25, $FF0000)

v12 = AviSource("AnotherSampleVideo.avi", false). \
  Crop(40, 10, 320, 240).AssumeFPS(25).ConvertToRGB32.FadeIn(25, $FF0000)

v1 = v11 + v12

v2 = ImageReader("SomeSampleBitmap.bmp").Crop(20, 10, 320, 240).ConvertToRGB32
v3 = AviSource("YetAnotherVideo.avi", false).Crop(30, 30, 320, 240).ConvertToRGB32
v4 = v1.Subtract(v2)

return StackVertical(StackHorizontal(v1, v2), StackHorizontal(v3, v4))


ただし、要件を誤解している可能性があります。

于 2012-05-25T01:56:17.180 に答える
0

回避策として、VLC で生成された UDP ストリームを介して動画を実行することが考えられます。例:

    vlc -vvv $YOUR_INPUT_VIDEO_AS_A_VARIABLE --sout='#transcode{vcodec=h264, vb=768, fps=25.0, width=1920, height=1080, scale=1, acodec=aac, ab=128, samplerate=32000}:standard{access=udp, mux=ts, dst=239.0.0.1}'

次に、この udp ストリームを VLC モザイクに含めます。例:

   setup video1 input udp://@239.0.0.1

後で、新しいビデオ ($YOUR_INPUT_VIDEO_AS_A_VARIABLE) へのパスである変数で呼び出されるスクリプトを記述して、最終的に以前の VLC インスタンスを強制終了し、新しいビデオが同じ udp アドレスに送信して再起動できると思います。あなたの場合、ポートを考慮する必要があります。たとえば、ビデオ 1 を 239.0.0.1:1234 に送信します。ビデオ 2 から 239.0.0.1:1236; ビデオ 3 から 239.0.0.1:1238 など。

UDP は何も送信されなくても気にしないので、ビデオが再生されない短い期間があると思います (古い VLC インスタンスを強制終了して新しいビデオをストリーミングするのにかかる時間)。

繰り返しますが、これは回避策です。たぶんこれが役立つかもしれませんが、それ以外の場合は忘れてください。

于 2012-05-30T13:30:36.023 に答える