.tsビデオを.mp4に変換し、パイプファインダーをwhileとffmpegに変換しますか?

.tsビデオを.mp4に変換し、パイプファインダーをwhileとffmpegに変換しますか?

.ts複数のビデオファイルを変換しようとしていますが、.mp4ファイルを見つけるときにfind結果をループにリンクして各ファイルに対して実行し、古いファイルを削除する必要があるwhileようです。変換されたファイルです。これが私がfindで得るものです:ffmpeg.ts

$ find ./ -iname "*.ts"
./Parent-Dir/video1.ts
./Parent-Dir/video2.ts
./Parent-Dir/video3.ts
./Parent-Dir/video4.ts
..
..
.. about a 100 more videos ..

findループでこれを行うことはできますかwhile

find ./ -iname "*.ts" | while IFS= read video
do
  ffmpeg -i "${video}" -c:v libx264 -c:a aac "${video}".mp4 
  rm -f ${video}.ts
done

ベストアンサー1

正しいファイル名を取得するには変更する必要があります。

ffmpeg -i "${video}" -c:v libx264 -c:a aac "${video}".mp4 

到着

ffmpeg -i "${video}" -c:v libx264 -c:a aac "${video%.*}".mp4 

次のように使用することもできますfor

for video in **/*.ts

これはキャプチャされませんが、.TSより良い検索を処理します。

そして、ファイルを削除するときは常に引用符を追加してください。

rm -f "${video}"

おすすめ記事