FFmpeg应用程序的使用

本文介绍了FFmpeg官方网站及其提供的Static、Shared和Dev三个版本。详细解释了ffmpeg、ffplay和ffprobe三个核心工具的功能和使用方法,包括命令行参数、视频转码、播放和文件格式查看等。

综述

FFmpeg的网站:http://ffmpeg.org/
编译好的应用程序直接从这里下载就可以:http://ffmpeg.org/download.html, 里面包含了Windows、Linux和Apple的版本。
该网站中的FFMPEG分为3个版本:Static,Shared,Dev。
前两个版本可以直接在命令行中使用,他们的区别在于:Static里面只有3个应用程序:ffmpeg.exe,ffplay.exe,ffprobe.exe,每个exe的体积都很大,相关的Dll已经被编译到exe里面去了。Shared里面除了3个应用程序:ffmpeg.exe,ffplay.exe,ffprobe.exe之外,还有一些Dll,比如说avcodec-54.dll之类的。Shared里面的exe体积很小,他们在运行的时候,到相应的Dll中调用功能。
Dev版本是用于开发的,里面包含了库文件xxx.lib以及头文件xxx.h,这个版本不包含exe文件。
打开系统命令行接面,切换到ffmpeg所在的目录,就可以使用这3个应用程序了。

1. ffmpeg

ffmpeg是用于转码的工具。

一个简单的转码例子:

ffmpeg -i input.avi -b:v 640k output.ts

该命令将当前文件夹下的input.avi文件转换为output.ts文件,并将output.ts文件视频的码率设置为640kbps。

ffmpeg -i {输入文件路径} -b:v {输出视频码率} {输出文件路径}

所有的参数都是以键值对的形式指定的。例如输入文件参数是“-i”,而参数值是文件路径;输出视频码率参数是“-b:v”,而参数值是视频的码率值。但是注意位于最后面的输出文件路径前面不包含参数名称。

一些常用的命令行参数
可以使用冒号来定义表格的对齐方式,如下:

参数说明
-h帮助
-i filename输入文件
-t duration设置处理时间,格式为hh:mm:ss
-ss position设置起始时间,格式为hh:mm:ss
-b:v bitrate设置视频码率
-b:a bitrate设置音频码率
-r fps设置帧率
-s wxh设置帧大小,格式为WxH
-c:v codec设置视频编码器
-c:a codec设置音频编码器
-ar freq设置音频采样率

部分参数中文释义:ffmpeg参数中文详细解释

详细的使用说明(英文):http://ffmpeg.org/ffmpeg.html

2 ffplay

ffplay.exe用于视频的播放。

ffplay input.avi

该命令将播放当前文件夹下的input.avi文件。

ffplay {输入文件路径}

ffplay.exe的参数格式和ffmpeg.exe是类似的。所有的参数都是以键值对的形式指定的(由于不包含输出文件,所以只能指定输入参数)。注意位于最后面的输入文件路径前面不包含参数名称。

具体的使用方法可以参考:ffplay的快捷键以及选项

详细的使用说明(英文):http://ffmpeg.org/ffplay.html

3 ffprobe.exe

ffprobe是用于查看文件格式的应用程序。
这个就不多介绍了。
详细的使用说明(英文):http://ffmpeg.org/ffprobe.html

### 解决 FFmpeg 应用程序无法启动的问题 当遇到 `ffplay` 或其他基于 FFmpeg应用程序无法启动的情况时,可能的原因有很多。以下是几种常见的原因及其解决方案: #### 1. 环境变量配置错误 如果系统的环境变量未正确设置,则可能会导致找不到 FFmpeg 可执行文件。确保已将 FFmpeg 安装路径添加到系统的 PATH 环境变量中[^1]。 #### 2. 缺少依赖库 FFmpeg 需要多个外部库来支持不同的编解码器其他功能。缺少这些必要的动态链接库可能导致应用崩溃或无法启动。建议重新安装最新版本的 FFmpeg 并确认所有必需组件都已成功安装。 #### 3. 命令行参数不当 不正确的命令选项也可能引发问题。对于播放 RTP 流而言,应当遵循如下格式: ```bash ffplay \ -protocol_whitelist rtp,udp \ -i "rtp://127.0.0.1:5004" ``` 请注意 `-protocol_whitelist` 参数用于指定允许使用的协议列表;而 `-i` 后面跟的是输入源地址。任何拼写错误或者顺序颠倒都会造成解析失败。 #### 4. 权限不足 某些情况下,由于权限不够,进程可能被操作系统阻止运行。尝试以管理员身份打开终端窗口再执行上述指令看是否会有所改善。 #### 5. 日志分析 最后但同样重要的一点是查看详细的日志输出可以帮助定位具体哪里出了错。可以加上 `-loglevel debug` 开关获取更详尽的日志信息以便进一步排查问题所在。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值