Eu sou apenas um desenvolvedor PHP humilde que foi encarregado de recuperar algumas informações básicas sobre centenas de milhares de arquivos de vídeo. Eu tive um pouco de sorte usando ffmpeg extrair o video bitrate
, video width
, video height
, duration
, e aspect ratio
com eles, mas com uma taxa de erro de cerca de 5%, isso ainda me deixa com um enorme número de arquivos que eu não sei como lidar com. Os vídeos são reproduzidos, mas a enorme quantidade de dados que o ffmpeg retorna me deixa perplexa quanto à análise do XML retornado para encontrar o que eu preciso com todas as condições que pareço encontrar. (Os arquivos são uma coleção dos últimos 15 anos, alguns codificados recentemente, outros convertidos anos atrás)
De qualquer forma, achei o seguinte uso ffprobe
para obter duração e esperava que alguém aqui que entendesse as complexidades do uso de ffmpeg & ffprobe tivesse a gentileza de me ajudar a encontrar os outros valores que eu precisava de uma maneira mais direta do que a código louco Estou me criando criando para acessar os resultados completos do ffmpeg.
ffprobe -i "video.mp4" -show_entries format=duration -v quiet -of csv="p=0"
Muito obrigado antecipadamente.
ESCLARECIMENTO:
Devo acrescentar que, com o cmd abaixo, posso "ver" o que preciso, mas não entendo como extrair o que preciso, por exemplo, recuperando a taxa de bits do VÍDEO e suprimindo / ignorando a taxa de bits do ÁUDIO ou determinando qual das 2 durações diferentes para usar (durações de áudio / vídeo?)
C:\>ffprobe -v error -show_entries stream=width,height,bit_rate,duration -of default=noprint_wrappers=1 input.mp4
duration=1712.000000
bit_rate=64000
width=320
height=240
duration=1711.946113
bit_rate=359827
duration=1712.000000
bit_rate=N/A
duration=1712.000000
bit_rate=N/A
De https://trac.ffmpeg.org/wiki/FFprobeTips
Se você deseja obter o bit_rate do 1º fluxo de vídeo, pode usar:
Onde
-select_steams v:0
está selecionando o 1º fluxo de vídeo e:nokey=1
fornece o valor sem a tecla Você também pode extrair as informações canalizando-as para grep, mas não tenho certeza se elas estão disponíveis no seu sistema.Espero que isto ajude!
fonte