速通FFmpeg入门

初识:

ffmpeg是一款非常好用处理音视频的工具包。那什么是ffmpeg呢?FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序,可以结合开发一些处理视频音频的功能。

安装:

  1. 在官网上下载安装压缩包,解压到本地,添加环境变量

  2. 在cmd终端中输入 ffmpeg -version ,查看是否能正确输出版本号。

使用:

基本指令:

一.查看FFmpeg支持的编码器
bash 复制代码
ffmpeg configure -encoders
二.查看FFmpeg支持的解码器
bash 复制代码
ffmpeg configure -decoders
三.查看FFmpeg支持的通信协议
bash 复制代码
ffmpeg configure -protocols
四.查看FFmpeg所支持的音视频编码格式、文件封装格式与流媒体传输协议
bash 复制代码
ffmpeg configure --help

FFplay:

介绍:

ffplay是以FFmpeg框架为基础,外加渲染音视频的库libSDL构建的媒体文件播放器。

播放音频文件的命令:
bash 复制代码
ffplay shy.mp3

这时候就会弹出来一个窗口,一边播放MP3文件,一边将播放音频的图画到该窗口上。针对该窗口的操作如下:

  1. 点击该窗口的任意一个位置,ffplay会按照点击的位置计算出时间的进度,然后seek到计算出来的时间点继续播放。
  2. 按下键盘的左键默认快退10s,右键默认快进10s,上键默认快进1min,下键默认快退1min。
  3. 按ESC就退出播放进程,按W会绘制音频的波形图。
播放视频文件的命令:
bash 复制代码
ffplay pm.mp4

这时候,就会在新弹出的窗口上播放该视频了。

  1. 如果想要同时播放多个文件,只需在多个命令行下同时执行ffplay就可以了。
  2. 如果按s键就可以进入frame-step模式,即按s键一次就会播放下一帧图像。

相关指令:

  1. 循环播放

    bash 复制代码
    ffplay pm.mp4 -loop 10

    上述命令代表播放视频结束之后会从头再次播放,共循环播放10次。

  2. 播放 pm.mp4 ,播放完成后自动退出

    bash 复制代码
    ffplay -autoexit pm.mp4
  3. 以 320 x 240 的大小播放 test.mp4

    bash 复制代码
    ffplay -x 320 -y 240 pm.mp4
  4. 将窗口标题设置为 "myplayer",循环播放 2 次

    bash 复制代码
    ffplay -window_title myplayer -loop 2 pm.mp4
  5. 播放 双通道 32K 的 PCM 音频数据

    bash 复制代码
    ffplay -f s16le -ar 32000 -ac 2 test.pcm

播放示例:

bash 复制代码
ffplay -loop 1 -window_title ffplaytest -autoexit D:\MyFolder\MyData\video\天才的发明,电力变压器的 内部结构,以及它是如何工作的?.mp4

音画同步

ffplay也是一个视频播放器,所以不得不提出来的一个问题是:音画同步。ffplay的音画同步的实现方式其实有三种,分别是:以音频为主时间轴作为同步源,以视频为主时间轴作为同步源,以外部时钟为主时间轴作为同步源。

bash 复制代码
ffplay pm.mp4 -sync audio

上面这个命令显式的指定了使用以音频为基准进行音视频同步的方式播放视频文件,当然这也是ffplay的默认播放设置。

bash 复制代码
ffplay pm.mp4 -sync video

上面这个命令显式的指定了使用以视频为基准进行音视频同步的方式播放视频文件。

bash 复制代码
ffplay pm.mp4 -sync ext

上面这个命令显式的指定了使用外部时钟为基准进行音视频同步的方式播放视频文件。

相关推荐
superconvert6 小时前
主流流媒体的综合性能大 PK ( smart_rtmpd, srs, zlm, nginx rtmp )
websocket·ffmpeg·webrtc·hevc·rtmp·h264·hls·dash·rtsp·srt·flv
cuijiecheng201812 小时前
音视频入门基础:AAC专题(8)——FFmpeg源码中计算AAC裸流AVStream的time_base的实现
ffmpeg·音视频·aac
0点51 胜12 小时前
[ffmpeg] 视频格式转换
ffmpeg
Jerry 二河小鱼17 小时前
在Linux中安装FFmpeg
linux·运维·服务器·ffmpeg
0点51 胜2 天前
[ffmpeg] 音视频编码
ffmpeg·音视频
0点51 胜2 天前
[ffmpeg]音频格式转换
开发语言·c++·ffmpeg
PlumCarefree2 天前
基于鸿蒙API10的RTSP播放器(五:拖动底部视频滑轨实现跳转)
华为·ffmpeg·音视频
LuckyInn2 天前
从安装ffmpeg开始,把一个视频按照每秒30帧fps剪切为图片
ffmpeg·音视频
cuijiecheng20182 天前
FFmpeg源码:skip_bits、skip_bits1、show_bits函数分析
ffmpeg
__Destiny__3 天前
视频格式转为mp4(使用ffmpeg)
ffmpeg·视频编解码