FFmpeg是什么意思?FFmpeg格式有什么作用和功能?
ffmpeg是什么?想必很多朋友都不太了解,小编也是从最近的“win10原生支持ffmpeg,将通吃所有主流视频格式”一篇文章中有所了解。究竟ffmpeg是什么?为什么win10原生支持ffmpeg框架,就可以支持所有主流视频格式呢?下面小编将自己所知道的,详细分享一下。
ffmpeg是什么?ffmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用lgpl或gpl许可证。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多codec都是从头开发的。
ffmpeg在linux平台下开发,但它同样也可以在其它操作系统环境中编译运行,包括windows、mac os x等。这个项目最早由fabrice bellard发起,现在由michael niedermayer维护。许多ffmpeg的开发人员都来自mplayer项目,而且当前ffmpeg也是放在mplayer项目组的服务器上。项目的名称来自mpeg视频编码标准,前面的"ff"代表"fast forward"。
简单来说,ffmpeg是一个免费的多媒体框架,可以运行音频和视频多种格式的录影、转换、流功能,能让用户访问几乎所有视频格式,包括mkv、flv、mov,vlc media player、google chrome浏览器都已经支持。
ffmpeg有什么用?ffmpeg有非常强大的功能包括视频采集功能、视频格式转换、视频抓图、给视频加水印等,核心功能作用如下。
视频采集功能
ffmpeg视频采集功能非常强大,不仅可以采集视频采集卡或usb摄像头的图像,还可
以进行屏幕录制,同时还支持以rtp方式将视频流传送给支持rtsp的流媒体服务器,支持直播应用。
ffmpeg在linux下的视频采集
在linux平台上,ffmpeg对v4l2的视频设备提供了很好的支持,如:
./ffmpeg -t 10 -f video4linux2 -s 176*144 -r 8 -i /dev/video0 -vcodec h263 -f rtp rtp://192.168.1.105:5060 > /tmp/ffmpeg.sdp
以上命令表示:采集10秒钟视频,对video4linux2视频设备进行采集,采集qcif(176*144)的视频,每秒8帧,视频设备为/dev/video0,视频编码为h263,输出格式为rtp,后面定义了ip地址及端口(www.jb51.net ),将该码流所对应的sdp文件重定向到/tmp/ffmpeg.sdp中,将此sdp文件上传到流媒体服务器就可以实现直播了。
ffmpeg在windows下的视频采集
在windows下关于ffmpeg视频采集的资料非常少,但是ffmpeg还是支持windows下视频采集的。ffmpeg支持windows下video for windows(vfw)设备的视频采集,不过vfw设备已经过时,正在被wdm的视频设备所取代,但是ffmpeg还没有支持wdm的计划,不过好像有将wdm转为vfw的工具,因此ffmpeg还是可以在windows下进行视频采集的。
视频格式转换功能
ffmpeg视频转换功能。视频格式转换,比如可以将多种视频格式转换为flv格式,可不是视频信号转换 。
ffmpeg可以轻易地实现多种视频格式之间的相互转换(wma,rm,avi,mod等),例如可以将摄录下的视频avi等转成视频网站所采用的flv格式。
视频截图功能
对于选定的视频,截取指定时间的缩略图。视频抓图,获取静态图和动态图,不提倡抓gif文件;因为抓出的gif文件大而播放不流畅。
给视频加水印功能
使用ffmpeg 视频添加水印(logo)。
上一篇: Python Queue模块详解
下一篇: JS简单获得节点元素的方法示例