最初の8秒を削除し、ファイルの残りの部分はそのままにしたい.m4aオーディオファイルがあります。その後、最初のステップが完了したら、ファイルの最後の8秒を削除し、ファイルの残りの部分を保持します。触れていない。
したがって、デフォルトでは、最初の8秒はファイルから完全に削除/削除され、ファイルは最初の8秒がまったく存在しなかったかのように2番目の8秒で始まります。
同様に、ファイルの最後の8秒も削除されます。
これはすべてファイルを再エンコードすることなく実行されます。
(編集する:ここと他の場所で異なる回答を見ましたが、他の回答では切り捨てられたセクションの開始時間と終了時間を指定する必要があるため、機能しませんでした。私にとって必要なのは、ffmpegがそれを特定してコマンドに入力する必要なしに.m4aオーディオファイルの終了タイムスタンプと開始タイムスタンプを提供することです。
私はこれをファイルの前半をトリミングするために使用します。
ffmpeg -t 00:00:08 -acodec copy -i in_file.m4a out_file.m4a
しかし、ファイルの終わりをトリミングするためには何も使用されません。
私は何をすべきか得られませんでした。
(こことは別の場所でいくつかの異なる答えを見ましたが、何もそこに届かないようです)
ベストアンサー1
これにより、再エンコードせずにファイルの先頭の最初の8秒を切り取り、出力ファイルの最初の8秒を除くすべての部分を保持します。
ffmpeg -ss 8 -i in_file.m4a -c copy out_file.m4a
また、次の行はオーディオファイルの最後の最後の8秒を切り取ります。下の行は複雑に見えますが、私が見ることができる最も簡単な解決策であり、ファイルの終わりを切り取ります。
ffmpeg -i in_file.m4a -ss 8 -i in_file.m4a -c copy -map 1:0 -map 0 -shortest -f nut - | ffmpeg -y -f nut -i - -map 0 -map -0:0 -c copy out_file.m4a