使用されたビデオコーデックを含むすべてのビデオのリストをどのように取得できますか?
次のような興味深いコマンドを見つけました。メディア情報、ffmpegまたはエクスポートツールしかし、ただ一つの映像で多くの情報を提供しています。
私が見つけた最も興味深いコマンドは次のとおりです。文書そして私に次のような出力を与えます。
$ file *
8 Mile (2002).avi: RIFF (little-endian) data, AVI, 640 x 272, 23.98 fps, video: XviD, audio: MPEG-1 Layer 3 (stereo, 48000 Hz)
1984 (1984).avi: RIFF (little-endian) data, AVI, 960 x 540, ~24 fps, video: H.264 X.264 or H.264, audio: MPEG-1 Layer 3 (stereo, 48000 Hz)
次のような出力が必要です(たとえば、次にXviDコーデックを持つビデオのみを変換します)。
~/Movies/8 Mile (2002).avi XviD
~/Movies/1984 (1984).avi H.264
注: 私macOS シエラレオン(10.12)しかし、Linuxコマンドも翻訳できます。
答え1
修正する
ありがとう@don_crissti{}
次に渡されたことを示しますsh
。いつもエラー - 回避策は次のとおりです。
find ~/Movies/ -type f -iname "*.avi" -exec sh -c "echo $1; file $1 | cut -d, -f5 | cut -d: -f2 | sed 's/ //g' | sed 's/X.264orH.264//g'" {} \;
これを試してみることができます - テストされていません。
find ~/Movies/ -type f -iname "*.avi" -exec sh -c "echo {}; file '{}' | cut -d, -f5 | cut -d: -f2 | sed 's/ //g' | sed 's/X.264orH.264//g'" \;
find
: すべてのavi
ファイルを検索~/Movies/
echo {}
ファイル名の印刷file
これを実行filename
cut -d, -f5
coma(,) で切り捨てた 5 番目のテキストフィールドを取得します。cut -d: -f2
コロン(:)で切り捨てられた2番目のテキストフィールドを取得します。sed
テキストから空白と重複するH264文字列を削除します。