Using ffmpeg to create looping apng – Stack Overflowより、アニメGIFなら-loopでループできるのに APNGではこのオプションではループできないので-playsオプションを使う。このオプションはループ回数を指定する。0を指定すると無限ループになる。
透過処理にバグがある。
#9334 (MP4 to APNG conversion incorrectly has transparent background) – FFmpeg
-ssで開始秒、-tで動画時間を指定する
ffmpeg -ss 10 -i input.mp4 -plays 10 -t 1 -vf setpts=PTS-STARTPTS -f apng output.png
無限ループで出力フレーム数-frames:vを指定する
ffmpeg -ss 10 -i input.mp4 -plays 0 -frames:v 10 -vf setpts=PTS-STARTPTS -f apng output.png
ちなみにフレームレートを変えるならfps
フィルタを使う。
ffmpeg -ss 10 -i input.mp4 -plays 10 -t 1 -vf fps=10,setpts=PTS-STARTPTS -f apng output.png
読み込み時に無限ループして動画に出力。
ffmpeg -ignore_loop 0 -i input.png -t 10 -pix_fmt yuv420p output.mp4
ヘルプコマンド:ffmpeg -h muxer=apng
公式ドキュメント:ffmpeg Documentation : apng