web-dev-qa-db-ja.com

そのサイズでビデオファイルを表示する

すべての.mp4ファイルのサイズをファイル名で印刷する必要があります。例えば:

1_VIDEO.mp4 1204x680
3
pradyumnad

OKみんな、それを解決した

find . -name '*.mp4' -exec exiftool -directory -fileName -imageSize {} \; 

最初のインストール ExifTool

2
pradyumnad

exiftool の場合:

$ exiftool -q -p '$FileName $ImageSize' ./*.mp4
foo.mp4 640x480
test.mp4 1280x800
5
$ ffmpeg -i 1_VIDEO.mp4 2>&1 | \
      grep -E 'width|height|Input.*from' | \
      paste -sd' ' | \
      awk '{print $5, $8"x"$11}' | \
      sed "s/'\|://g"

$ ffmpeg -i pizzahut_pizzahead_and_steve.flv 2>&1 | \
      grep -E 'width|height|Input.*from' | \
      paste -sd' ' | \
      awk '{print $5, $8"x"$11}' | \
      sed "s/'\|://g"
pizzahut_pizzahead_and_steve.flv 320x240

壊す

  1. 最初のgrep

    $ ffmpeg -i pizzahut_pizzahead_and_steve.flv 2>&1 | \
                grep -E 'width|height|Input.*from'
    Input #0, flv, from 'pizzahut_pizzahead_and_steve.flv':
        width           : 320
        height          : 240
    
  2. ペースト

    これにより、#1の出力からの3行の出力が1行に結合されます。

    Input #0, flv, from 'pizzahut_pizzahead_and_steve.flv':     width           : 320     height          : 240
    
  3. awk&sed

    残りの2つのコマンドは、pasteからの出力をクリーンアップし、次のようにフォーマットします。

    pizzahut_pizzahead_and_steve.flv 320x240
    
2
slm