Estou tentando extrair certas informações da saída do ffmpeg.
Exemplo de saída do ffmpeg:
configuration: --enable-memalign-hack --enable-mp3lame --enable-gpl --disable-vhook --disable-ffplay --disable-ffserver --enable-a52 --enable-xvid --enable-faac --enable-faad --enable-amr_nb --enable-amr_wb --enable-pthreads --enable-x264
libavutil version: 49.0.0
libavcodec version: 51.9.0
libavformat version: 50.4.0
built on Apr 15 2006 04:58:19, gcc: 4.0.1 (Apple Computer, Inc. build 5250)
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'file.mov':
Duration: 00:01:32.0, start: 0.000000, bitrate: 63489 kb/s
Stream #0.0(eng): Audio: pcm_s16le, 48000 Hz, stereo, 1536 kb/s
Stream #0.1(eng), 29.97 fps(r): Video: Apple ProRes 422, 1280x720
Must supply at least one output file
Eu quero recuperar uma string com apenas Duration, taxa de quadros, codec e tamanho, por exemplo:
[00:01:32_29.97_Apple ProRes 422_1280x720]
Eu tentei começar com isso (de outra dica):
ffmpeg -i file.mov 2>&1 | sed -n 's/Duration: \(.*\), start//gp'
para obter a Duração, mas apenas "removeu" o Duration
e , start
, ou seja:
00:01:32.0: 0.000000, bitrate: 63489 kb/s
PS: também gostaria de remover o Apple
de Apple ProRes 422
: -)
Obrigado!
Atualização: consegui extrair o codec com
sed -n "s/.*\Video: \(.*\),.*//p"
mas não sei como (a) obter o tamanho e a taxa de quadros e (b) combinar as pesquisas em uma linha ...