よく使われるのがリアルタイムの-reであるが、それだと1倍速にしかならないので音声の PTS を加工して速度を調整する。

本来のダウンロード速度は制限前より高速であることが前提である。倍速の逆数にasetptsフィルタで変更しarealtimeフィルタでリアルタイム処理にする。

1.1倍速の例
ffmpeg -i "https://example.com/hls/playlist.m3u8" -c copy output.ts -af asetpts=10*PTS/11,arealtime -vn -f null -

1.5倍速の例
ffmpeg -i "https://example.com/hls/playlist.m3u8" -c copy output.ts -af asetpts=2*PTS/3,arealtime -vn -f null -

2倍速の例
ffmpeg -i "https://example.com/hls/playlist.m3u8" -c copy output.ts -af asetpts=PTS/2,arealtime -vn -f null -

2021年7月17日以降のバージョンでは-readrateが追加され、任意の倍率に制限できるようになった。-readrate 1-reと同じ効果。

2倍速の例
ffmpeg -readrate 2 -i "https://example.com/hls/playlist.m3u8" -c copy output.ts

ffmpeg: add option readrate · FFmpeg/FFmpeg@c320b78

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)