首页 > 代码库 > FFmpeg 在树莓派上的运行
FFmpeg 在树莓派上的运行
FFmpeg 在树莓派上的运行
FFmpeg是编解码领域的基础软件,还是因为树莓派才有了直接的接触。
windows 上使用 ffmpeg
在官方网站下载静态编译的版本 http://www.ffmpeg.org/download.html
一共3个可执行文件
ffmpeg.exe 编码工具
ffplay.exe 播放器,基于SDL的窗口
ffprobe.exe 查看视频信息
这三个工具有大量的参数。功能也非常强大。
树莓派上使用FFmpeg
非常简单,超出想象
apt-get install ffmpeg
这样居然就装好了,当然后来也知道了,这个是没有优化的版本
root@raspberrypi:~# ffmpeg --help > /ffmpeg.txt
ffmpeg version 0.8.10-6:0.8.10-1+rpi1, Copyright (c) 2000-2013 the Libav developers
built on Mar 22 2014 02:13:15 with gcc 4.6.3
THIS PROGRAM IS DEPRECATED
This program is only provided for compatibility and will be removed in a future release. Please use avconv instead.
这个大概是说用avconv这个前台,看起来很无聊的说
encoder ‘aac‘ is experimental and might produce bad results.
Add ‘-strict experimental‘ if you want to use it.
如果是转 -vcodec libx264 ,会提示aac是试用的需要加-strict experimental 参数,这个 win32版本是不需要这个参数的
H.264编码命令
ffmpeg -y -i 1.avi -ss 00:00:00 -t 00:00:25 -vcodec libx264 -b 200k -r 24 -ab 64k -ar 32000 1.mp4
-y 会指示ffmpeg覆盖输出文件
-i 输入文件
-b 指定码率注意单位是bit/s,所以我们一般要加k,比如 -b 1000k 就是1000kb/s
-g 设置组的大小
-vframes 指定要编码的帧数,比如-vframes 1 就是编码1帧,截图的时候就这样写
-r 指定帧率,默认是25
-s 指定图像分辨率,用wxh的格式,比如320×240
-vcodec libx264 使用H.264编码
-t 指定视频流持续的时常,支持以秒为单位的数字或"时:分:秒[.毫秒]"
-fs 指定输出文件大小的限制
-ss 指定开始的时间,和-t的单位一样
-ar 设置采样频率,默认44100hz
-ab 设置比特率,默认64k
-an 禁用音频录制
-acodec 指定音频编码器
-strict experimental ARM才要使用
从经验看 -s 指定图像分辨率,-b 指定码率 都不需要设置,ffmpeg会自动设好
3台设备运行FFmpeg编码性能比较
设备 | CPU | 整机功率 | CPU特性 | 编码的FPS |
---|---|---|---|---|
Raspberry PI | ARM11 700Mhz | 3.0W | none | 1 ~ 0.N |
ThinkPad T23 | PIII 1.2G | 26W | MMX2 SSE Cache32 | 9 ~ 3 |
Toshiba M333 | T6600 Dual-Core 2.2G | 46W | MMX2 SSE2Fast SSSE3 SSE4.1 Cache64 | 66 ~ 22 |
树莓派运行1天 57度
从这个结果来看,树莓派完全没有优势吗,越强的CPU效果越好。
下次试试XMBC里面优化过的FFmpeg看看。这次就到这里.