速通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

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

相关推荐
简鹿视频13 小时前
视频转mp4格式具体作步骤
ffmpeg·php·音视频·实时音视频
一点晖光20 小时前
centos安装ffmpeg环境
linux·ffmpeg·centos
炒毛豆21 小时前
前端直播开发入门:搞懂推流拉流,掌握播放器核心
ffmpeg
八月的雨季 最後的冰吻1 天前
FFmepg-- 32-ffplay源码- PacketQueue 的线程安全机制 以及 serial 字段的作用
安全·ffmpeg
凯新生物1 天前
mPEG-SS-PLGA-DTX:智能药物递送系统
eureka·flink·ffmpeg·etcd
学而知不足~1 天前
字幕转码杂记
ffmpeg
飞睿科技2 天前
ESP Audio Effects音频库迎来专业升级,v1.2.0 新增动态控制核心
人工智能·物联网·ffmpeg·智能家居·语音识别·乐鑫科技·esp
daizhe3 天前
基于JavaCV实现FFmpeg设置视频moov前置以及截取封面图片
ffmpeg·音视频·javacv