0
phpとffmpegを使用して、ビデオフレームの1ミリ秒ごとにイメージと異なる位置を追加する必要があります。 たとえば、次のようになります。 最初の2番目に、X位置に画像を追加し、次の2番目に位置Xにある別の画像を追加します。 端末で直接コマンドを使用すると、変換は成功します。しかし、PHPで私は困難があります。 PHPでは は、次のコマンドを使用します。ffmpegとphpを使用してビデオをミリ秒ごとに追加します
<?php
shell_exec('C:\\ffmpeg\\bin\\ffmpeg.exe -i C:\\ffmpeg\\bin\\vid.mp4 -i C:\\ffmpeg\\bin\\1.png -filter_complex "[0:v][1:v] overlay=100:25:enable=\'between(t,1,1.5)\'" C:\\ffmpeg\\bin\\output1.mp4');
sleep(20);
echo "1";
shell_exec('C:\\ffmpeg\\bin\\ffmpeg.exe -i C:\\ffmpeg\\bin\\output1.mp4 -i C:\\ffmpeg\\bin\\2.png -filter_complex "[0:v][1:v] overlay=10:25:enable=\'between(t,1.5,2)\'" C:\\ffmpeg\\bin\\output2.mp4');
sleep(50);
echo "2";
shell_exec('C:\\ffmpeg\\bin\\ffmpeg.exe -i C:\\ffmpeg\\bin\\output2.mp4 -i C:\\ffmpeg\\bin\\3.png -filter_complex "[0:v][1:v] overlay=250:25:enable=\'between(t,2,2.5)\'" C:\\ffmpeg\\bin\\output1.mp4');
sleep(20);
echo "3";
shell_exec('C:\\ffmpeg\\bin\\ffmpeg.exe -i C:\\ffmpeg\\bin\\output1.mp4 -i C:\\ffmpeg\\bin\\4.png -filter_complex "[0:v][1:v] overlay=300:25:enable=\'between(t,3,3.5)\'" C:\\ffmpeg\\bin\\output2.mp4');
sleep(20);
echo "4";
shell_exec('C:\\ffmpeg\\bin\\ffmpeg.exe -i C:\\ffmpeg\\bin\\output2.mp4 -i C:\\ffmpeg\\bin\\5.png -filter_complex "[0:v][1:v] overlay=350:25:enable=\'between(t,4,4.5)\'" C:\\ffmpeg\\bin\\output1.mp4');
sleep(70000);
shell_exec('C:\\ffmpeg\\bin\\ffmpeg.exe -i C:\\ffmpeg\\bin\\output1.mp4 -i C:\\ffmpeg\\bin\\1.png -filter_complex "[0:v][1:v] overlay=400:25:enable=\'between(t,5,5.5)\'" C:\\ffmpeg\\bin\\output2.mp4');
私は、スリープ機能(PHP)を使用しますが、それはうまくいきませんでした。 私はffmpegとPHPで多くの経験がないので、私を助けることができますようにしてください。
ありがとうございました。
これは回答ですか、それともコメントですか? – IInspectable
コメント。 verifiyコマンドの出力が必要です。 – Domenike