Notes de développement FFmpeg (3) Introduction au programme exécutable de FFmpeg

Il existe deux façons principales d'utiliser FFmpeg dans le monde extérieur. L'une consiste à exécuter le programme exécutable de FFmpeg sur la ligne de commande, ce qui convient aux scénarios ordinaires sans exigences particulières ; l'autre consiste à appeler la bibliothèque de liens dynamiques de FFmpeg via le code , car les développeurs peuvent organiser une logique personnalisée en code C, cette méthode convient donc à des scénarios spéciaux dédiés aux fabricants.
Le framework open source FFmpeg fournit trois programmes exécutables, à savoir ffmpeg, ffplay et ffprobe, qui sont décrits en détail ci-dessous.

1. programme ffmpeg

Le programme ffmpeg a deux objectifs principaux, l'un est d'interroger les informations de support de FFmpeg, et l'autre est de traiter les opérations de conversion audio et vidéo. Les commandes de conversion audio et vidéo seront introduites une par une dans les articles suivants. Ici, nous expliquons uniquement quelles informations de support FFmpeg le programme peut trouver. Lors de la création de l'environnement de développement FFmpeg, j'ai mentionné que vous pouvez utiliser la commande suivante pour afficher les informations de version de FFmpeg :

ffmpeg -version

De plus, le programme ffmpeg peut également interroger les formats de fichiers qu'il prend en charge. Par exemple, la commande suivante peut afficher les formats de fichiers pris en charge par FFmpeg :

ffmpeg -formats

Exécutez la commande ci-dessus et la console affichera une longue liste de formats de fichiers pris en charge. Le début de la liste est le suivant.

File formats:
 D. = Demuxing supported
 .E = Muxing supported
 --
 D  3dostr          3DO STR
  E 3g2             3GP2 (3GPP2 file format)
  E 3gp             3GP (3GPP file format)
 D  4xm             4X Technologies

On peut voir que les formats de fichiers pris en charge par FFmpeg sont divisés en deux types, l'un est marqué comme D, indiquant qu'il prend en charge l'analyse de ce type de fichier ; l'autre est marqué comme E, indiquant qu'il prend en charge l'encapsulation de ce type de fichier. Continuez à dérouler cette longue liste de formats de fichiers. Vous pouvez trouver non seulement l'ancien format vcd, mais aussi les formats populaires rm et flv, ainsi que des formats courants tels que mp3 et mp4. Il semble que FFmpeg ait vraiment capturé tous les fichiers audio. et formats vidéo. .
Voir ci-dessous pour plus d'informations que le programme ffmpeg peut afficher. Les concepts liés étant relativement professionnels, nous ne les développerons pas un par un ici, et les expliquerons plus tard lorsqu'ils seront impliqués.

ffmpeg -codecs:查看支持的编解码器
ffmpeg -formats:查看支持的文件格式
ffmpeg -help:查看命令行的帮助信息
ffmpeg -protocols:查看支持的通讯协议
ffmpeg -version:查看FFmpeg的版本信息

2. programme ffplay

Le programme ffplay est équivalent à un lecteur, principalement utilisé pour lire des fichiers audio et vidéo. Lors de la lecture audio, ffplay fera non seulement émettre du son par le haut-parleur, mais affichera également l'image de la forme d'onde de l'audio sur l'écran. Lors de la lecture d'une vidéo, ffplay affichera des images vidéo en continu sur l'écran, tout comme regarder un film ou regarder la télévision. Si le fichier vidéo contient des données audio, ffplay fera en sorte que le haut-parleur diffuse le son en même temps.
Prenant la lecture d'une vidéo comme exemple, la commande suivante utilise le programme ffplay pour lire le fichier vidéo nommé fuzhous.mp4.

ffplay fuzhous.mp4

Exécutez la commande ci-dessus, la console affiche la fenêtre du lecteur vidéo comme indiqué dans la figure ci-dessous et renvoie en même temps les informations suivantes sur le fichier d'entrée.

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'fuzhous.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf59.34.102
  Duration: 00:00:19.52, start: 0.000000, bitrate: 288 kb/s
  Stream #0:0[0x1](und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(progressive), 480x270 [SAR 1:1 DAR 16:9], 285 kb/s, 25 fps, 25 tbr, 12800 tbn (default)

Selon les informations de fichier ci-dessus, on peut voir que la durée de la vidéo est de 19,52 secondes, l'encodeur vidéo utilise h264, la résolution vidéo est de 480x270 et la fréquence d'images fps est de 25 images par seconde.
Regardons à nouveau la lecture audio. La commande suivante signifie utiliser le programme ffplay pour lire le fichier audio nomméships.mp3.

ffplay ships.mp3

Exécutez la commande ci-dessus et la console affichera la fenêtre de forme d'onde audio comme indiqué dans la figure ci-dessous, tout en faisant écho aux informations de fichier d'entrée suivantes.

 

Input #0, mp3, from 'ships.mp3':   0KB vq=    0KB sq=    0B f=0/0
  Metadata:
    title           : 渔舟唱晚
    artist          : 中国十大古典名曲
    genre           : Other
    encoder         : Lavf59.27.100
  Duration: 00:03:37.91, start: 0.025057, bitrate: 128 kb/s
  Stream #0:0: Audio: mp3, 44100 Hz, stereo, fltp, 128 kb/s

Selon les informations de fichier ci-dessus, le titre et le chanteur de l'audio peuvent être connus et la durée de l'audio est de 3 minutes et 37,91 secondes.Le codec audio utilise mp3 et la fréquence d'échantillonnage est de 44100 Hz.
D'autres paramètres de ligne de commande du programme ffplay peuvent être visualisés via la commande suivante, et ils ne seront pas développés ici.

ffplay -help

3. programme ffprobe

Le programme ffprobe est un outil d'analyse multimédia, qui peut non seulement analyser les paramètres de fichier et les paramètres de conteneur audio et vidéo, mais également analyser la taille, le type, le codec et d'autres informations de chaque paquet de données dans le fichier audio et vidéo.
Prenons l'exemple de l'affichage des paramètres de fichier, la commande suivante signifie utiliser ffprobe pour afficher les informations de format du fichier vidéo 2018.mp4.

ffprobe -show_format 2018.mp4

Exécutez la commande ci-dessus et la console affichera les informations de format de fichier suivantes, suivies de la note explicative ajoutée par l'auteur.

[FORMAT]
filename=2018.mp4    // 文件名
nb_streams=2    // 流的数量。为2表示包含视频流和音频流
nb_programs=0
format_name=mov,mp4,m4a,3gp,3g2,mj2    // 格式名称
format_long_name=QuickTime / MOV    // 完整的格式名称
start_time=0.000000    // 开始时间,单位秒
duration=253.332993    // 结束时间,单位秒
size=42853286    // 文件大小,单位字节
bit_rate=1353263    // 比特率,即每秒传输的比特数量(1个字节有8个比特)
probe_score=100
[/FORMAT]

Parce que les informations de fichier renvoyées par le programme ffprobe sont directement affichées sur la console, elles sont si denses qu'elles sont éblouissantes à voir, donc en fait, ffprobe est rarement utilisé pour analyser l'audio et la vidéo, mais un logiciel de bureau professionnel tiers est utilisé pour l'analyser, et les formats associés seront discutés plus tard Présentez ces logiciels.
 

Je suppose que tu aimes

Origine blog.csdn.net/aqi00/article/details/130302774
conseillé
Classement