6 votes

ffprobe show_entries avec un nom d'entrée qui utilise un point-virgule

Je sonde un fichier vidéo pour obtenir des informations de base. Par exemple, l'exemple suivant utilise le drapeau show_entries pour spécifier les données nécessaires.

> ffprobe -v error -show_entries format=size,duration:stream=codec_name,bit_rate video.mp4

J'ai également besoin d'obtenir l'entrée TAG:rotate, mais cela ne fonctionne pas car le point-virgule se mélange avec la syntaxe du drapeau show_entries.

> ffprobe -v error -show_entries format=size,duration:stream=codec_name,bit_rate,TAG:rotate output.mp4
No match for section 'rotate'
Failed to set value 'format=size,duration:stream=codec_name,bit_rate,TAG:rotate' for option 'show_entries': Invalid argument

Y a-t-il un moyen de corriger la syntaxe ? La seule autre solution est de ne pas spécifier les entrées individuelles et de récupérer simplement toutes les données.

10voto

llogan Points 50040

Vous pouvez utiliser stream_tags pour les balises de métadonnées stockées dans le flux :

Quelques exemples et résultats :

ffprobe -v error -show_entries stream_tags=rotate -of csv=p=0 input.mp4
90

ffprobe -v error -show_entries stream_tags=rotate -of default=noprint_wrappers=1 input.mp4
TAG:rotate=90

ffprobe -v error -show_entries stream_tags=rotate:format=size,duration:stream=codec_name,bit_rate -of default=noprint_wrappers=1 input.mp4
codec_name=h264
bit_rate=39761
TAG:rotate=90
duration=5.000000
size=27114

En outre, il y a format_tags pour les balises de métadonnées stockées dans le conteneur (métadonnées globales).

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X