ffmpeg教程五 —— 使用举例
来源:互联网 发布:iphone剪裁图片软件 编辑:程序博客网 时间:2024/05/06 16:51
1.1.1 截取一张352x240尺寸大小的,格式为jpg的图片:
ffmpeg -i test.asf -y -f image2 -t 0.001 -s 352x240 a.jpg
1.1.2 把视频的前30帧转换成一个Animated Gif
ffmpeg -i test.asf -vframes 30 -y -f gif a.gif
1.1.3 截取指定时间的缩微图
ffmpeg -i test.avi -y -f image2 -ss 8 -t 0.001 -s 350x240 test.jpg
-ss后跟的时间单位为秒
1.1.4 转换文件为3GP格式
ffmpeg -y -i test.mpeg -bitexact -vcodec h263 -b 128 -r 15 -s 176x144
-acodec aac -ac 2 -ar 22500 -ab 24 -f 3gp test.3gp
1.1.5 使用ffmpeg录像屏幕
ffmpeg -vcodec mpeg4 -b 1000 -r 10 -g 300 -vd x11:0,0 -s 1024x768 ~/test.avi
:其中,-vd x11:0,0指录制所使用的偏移为 x=0和 y=0,-s 1024×768指录制视频的大小为 1024×768。录制的视频文件为 test.avi,将保存到用户主目录中
如果你只想录制一个应用程序窗口或者桌面上的一个固定区域,那么可以指定偏移位置和区域大小。使用xwininfo -frame命令可以完成查找上述参数。
重新调整视频尺寸大小
ffmpeg -vcodec mpeg4 -b 1000 -r 10 -g 300 -i ~/test.avi -s 800×600 ~/test-800-600.avi
注:上面的ffmpeg的屏幕录制功能只能在Linux环境下有效。在windows下是否可行,本人还不知道如何操作,如果你知道,请告诉我J
1.1.6 把摄像头的实时视频录制下来,存储为文件
在windows有两种视频捕获方式,使用VFW或DSHOW,你需要在编译ffmpeg时,把相应的组件编译进libavdevice中,下面使用vfw方式捕获:
./ffmpeg -t 10 -f vfwcap -i 0 -r 25 -f asf cap.asf
我们采集10秒,采集设备为vfwcap类型设备,第0个vfwcap采集设备(如果系统有多个vfw的视频采集设备,可以通过-i num来选择),每秒25帧,输出方式为文件,格式为asf
在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地址及端口,将该码流所对应的SDP文件重定向到/tmp/ffmpeg.sdp中,将此SDP文件上传到流媒体服务器就可以实现直播了。
./ffmpeg -t 10 -f video4linux2 -s 176*144 -r 10 -vpre libx264-hq.ffpreset -i /dev/video0 -vcodec libx264 -f rtp rtp://192.168.1.105:6060 > /tmp/x264.sdp
这条命令与上面的类似,但是视频编码为h264,由于ffmpeg是用外部库x264支持h264编码,因此h264的视频采集需要更多参数。主要是需要指定-vpre libx264-hq.ffpreset 才可以。
下面命令则是把捕获到的视频保存成文件:
ffmpeg -f video4linux -s 320*240 -r 10 -i /dev/video0 test.asf
1.1.1 接收组播直播流,并保存成文件:
./ffmpeg -i udp://@ip:port test.ts
1.1.2 从文件生成直播流:
ffmpeg -i a.flv -f flv rtmp://IP/livepkgr/livestream?adbe-live-event=liveevent
IP是你的fms服务器的IP地址
1.1.3 从组播地址接收组播,并把它转成rtmp协议发给 fms服务器
ffmpeg –i udp://@:port –f flv rtmp://IP/livepkgr/livestream?adbe-live-event=liveevent
1.1.4 对流进行分片(支持hls协议)
ffmpeg -I a.asf -codec copy -map 0 -f segment-segment_list out.m3u8 out%03d.tss
- ffmpeg教程五 —— 使用举例
- ffmpeg教程五 —— 使用举例
- ffmpeg教程七——使用举例——水印制作
- ffmpeg教程三 —— 使用
- ffmpeg教程一 —— ffmpeg组成
- LoadRunner12使用教程(五)——关联的使用
- curl 使用举例详解(五)
- py2exe使用教程(五)——指定额外文件
- Appium使用教程(五)——元素定位(1)
- ffmpeg教程四 —— 选项详解
- ffmpeg 命令集举例
- Ffmpeg和SDL教程(五)如何同步视频
- Ffmpeg和SDL教程(五)如何同步视频
- Ffmpeg和SDL教程(五)如何同步视频
- Ffmpeg和SDL教程(五)如何同步视频
- Ffmpeg和SDL教程(五)如何同步视频
- ffmpeg实战教程(五)libswscale,libavfilter实践指南
- FFmpeg教程(二)FFmpeg命令行工具的使用
- spring cvc-elt.1: Cannot find the declaration of element 'beans'解决办法
- CAMdiaTimingFunction 用法
- 程序性能调优之 怎样使用gprof和oprofile来分析 linux程序的性能(每个函数的调用次数与耗时)
- 现在(2013)多少的工资才要交税?税率是多少?
- lua和c/c++互相调用实例分析
- ffmpeg教程五 —— 使用举例
- 计算个人所得税程序
- 自上而下的软件开发和自下而上软件开发
- Java 例子 反射实现 AOP 动态代理模式(Spring Aop实现原理)
- PL/SQL Developer使用
- 嵌入式Linux开发
- 如何正确升级ADT 和SDK,附ADT离线包下载网址
- python类型转换、数值操作
- iOS绘图教程