FFmpeg命令行工具系列六----使用ffmpeg.exe的一些例子
来源:互联网 发布:手机免费对讲机软件 编辑:程序博客网 时间:2024/05/16 07:18
一、概述
前面讲了很多基础性的知识,偶尔会有一些例子,但不多。这一章就专门讲解一些应用例子,对于不懂的参数,可以使用ffmpeg -? 或者ffmpeg -help查看帮助,也可去官网查阅资料。
另外你最好对多媒体有一个大概的了解,比如常用的音视频编码方式,常用的音视频文件格式等等。
二、主要内容
任何支持的文件格式和协议都可以作为ffmpeg的输入源:
你可以使用yuv文件作为输入:
ffmpeg -i /tmp/test%d.Y /tmp/out.mpg
它将使用下列文件
/tmp/test0.Y, /tmp/test0.U, /tmp/test0.V,
/tmp/test1.Y, /tmp/test1.U, /tmp/test1.V, 等等
Y文件使用的分辨率是U和V文件的分辨率两倍。他们是原始文件,没有头。他们可以通过所有的视频解码器生成,最好通过-s参数指定的图像的大小。
你可以使用原始YUV420P文件作为输入
ffmpeg -i /tmp/test.yuv /tmp/out.avi
test.yuv文件包含原始yuv数据。
你可以输出到原始的yuv420p文件中去:
ffmpeg -i mydivx.avi hugefile.yuv
也可有多个输入和输出
ffmpeg -i /tmp/a.wav -s 640x480 -i /tmp/a.yuv /tmp/a.mpg
将a.wav和a.yuv合成到a.mpg文件中去。
同样可以做音视频之间的转换
ffmpeg -i /tmp/a.wav -ar 22050 /tmp/a.mp2
把a.wav转换为采样率为22050Hz的mpeg音频文件。
可以编码为不同的格式,并在输入输出之间使用映射
ffmpeg -i /tmp/a.wav -map 0:a -b:a 64k /tmp/a.mp2 -map 0:a -b:a 128k /tmp/b.mp2
将a.wav以64kb的码率转换为a.mp2文件,以128kb的码率转换为b.mp2文件。'-map 文件:序号'指出每个输出使用哪个文件作为输入。
可以从视频中抓取图片,或者从许多图片中创建视频
1.从视频中抓取图片:
ffmpeg -i foo.avi -r 1 -s WxH -f image2 foo-%03d.jpeg
这将每一秒抓取一帧,并输出到foo-001.jpeg,foo-002.jpeg。。。
如果你想抓取限定个数的帧,可以使用-vframes或者-t参数
2.从许多图片创建视频
ffmpeg -f image2 -framerate 12 -i foo-%03d.jpeg -s 480*320 foo.avi
这会把foo-001.jpeg,foo-002.jpeg。。。图片组成一个帧率为12的foo.avi
"%03d"的语法类似于c语言中的printf语法。
- FFmpeg命令行工具系列六----使用ffmpeg.exe的一些例子
- FFmpeg命令行工具系列一------ffmpeg.exe概述
- ffmpeg命令行工具的使用
- FFmpeg命令行工具的使用
- FFmpeg系列-2-命令行工具之FFmpeg
- ffmpeg的工具ffplay.exe使用
- FFmpeg教程(二)FFmpeg命令行工具的使用
- 方便使用ffmpeg命令行工具
- FFMPEG音视频开发笔记(1)FFMPEG简介及FFMPEG命令行工具的使用
- FFmpeg命令行工具系列三---参数详解
- FFmpeg命令行工具系列四---video参数
- FFmpeg命令行工具系列五---audio参数
- <备忘1000> ffmpeg命令行使用例子
- Android最简单的基于FFmpeg的例子(四)---以命令行的形式来使用ffmpeg
- Android最简单的基于FFmpeg的例子(四)---以命令行的形式来使用ffmpeg
- FFmpeg 工具的使用
- ffmpeg.exe工具的基本命令
- ffmpeg avpicture_fill的一些使用
- 线段树的标记lazy_tag
- Matlab函数索引
- php小知识点
- iOS开发-常用第三方开源框架介绍(你了解的ios只是冰山一角)
- 随缘学校管理系统cookie欺骗漏洞
- FFmpeg命令行工具系列六----使用ffmpeg.exe的一些例子
- 除草(3.30~4.4)
- 调试出现"no matching symbolic information found"原因以及解决办法
- POJ3070矩阵快速幂简单题
- AccountManagment
- 堆和栈以及静态存储区分配时机的不同
- 第四周 项目三:用多文件组织多个类的程序
- 弹出式菜单的简单使用
- 服务器端开发的一些建议