FFmpeg常用基本命令(2)

8、将当前摄像头及音频通过DSSHOW采集,视频h264、音频faac压缩后发布

ffmpeg -r 25 -f dshow -s 640×480 -i video=”video source name”:audio=”audio source name” -vcodec libx264 -b 600k -vpre slow -acodec libfaac -ab 128k -f flv rtmp://server/application/stream_name

9、将一个JPG图片经过h264压缩循环输出为mp4视频

ffmpeg.exe -i INPUT.jpg -an -vcodec libx264 -coder 1 -flags +loop -cmp +chroma -subq 10 -qcomp 0.6 -qmin 10 -qmax 51 -qdiff 4 -flags2 +dct8x8 -trellis 2 -partitions +parti8x8+parti4x4 -crf 24 -threads 0 -r 25 -g 25 -y OUTPUT.mp4

10、将普通流视频改用h264压缩,音频不变,送至高清流服务(新版本FMS live=1)

ffmpeg -i rtmp://server/live/originalStream -c:a copy -c:v libx264 -vpre slow -f flv “rtmp://server/live/h264Stream live=1〃

------------------------------------------------------------------------

----------------------------------------------------------------------------------------------------------

------------------------------------------------------------------------

1.采集usb摄像头视频命令:

ffmpeg -t 20 -f vfwcap -i 0 -r 8 -f mp4 cap1111.mp4

./ffmpeg -t 10 -f vfwcap -i 0 -r 8 -f mp4 cap.mp4

具体说明如下:我们采集10秒,采集设备为vfwcap类型设备,第0个vfwcap采集设备(如果系统有多个vfw的视频采集设备,可以通过-i num来选择),每秒8帧,输出方式为文件,格式为mp4。

2.最简单的抓屏:

ffmpeg -f gdigrab -i desktop out.mpg 

3.从屏幕的(10,20)点处开始,抓取640x480的屏幕,设定帧率为5 :

ffmpeg -f gdigrab -framerate 5 -offset_x 10 -offset_y 20 -video_size 640x480 -i desktop out.mpg 

4.ffmpeg从视频中生成gif图片:

ffmpeg -i capx.mp4 -t 10 -s 320x240 -pix_fmt rgb24 jidu1.gif

5.ffmpeg将图片转换为视频:

ffmpeg是一个非常强大的工具,使用他可以转换视频格式,包括视频容器格式,视频编码格式。这里所说的视频,包括了视频和音频。可以更改视频的其他的参数,比如帧率-每秒播放的帧数,视频的大小-尺寸等等。还可以将图片转换视频。

图片转换成视频,实际上是通过内置的视频编码格式将你的图片编码,ffmpeg支持很多中视频格式,想知道ffmpeg支持哪些编码格式,可以用ffmpeg -codecs命令来查看。

你的图片可以是jpg, 可以bmp,可以是tiff。其他的格式可以自己测试。

运行cmd,cd到你ffmpeg所在的目录,如果你手上还没有ffmpeg的话,你可以通过一下连接下载:

<暂时空缺, 随后加上连接>

好了,有了这个软件,我们就可以开始生成视频的工作了。假如你的图片在c:\temp\下面。那么通过下面的命令就可以将这个目录下面的图片转换成视频。这里面有个要求就是你的图片全部是自然数为文件名, 001, 002, 003这样的。前面要几个0取决于你的图片的个数,如109张,那么就是3-1=2个0,从001 到109,如果是1009张就是0001到1009.

ffmpeg -f image2 -i c:\temp\d.jpg test.mp4

你可以指定编码格式:

ffmpeg -f image2 -i c:\temp\d.jpg -vcodec libx264 test.mp4

也许你还想指定输出帧率:

ffmpeg -f image2 -i c:\temp\d.jpg -vcodec libx264 -r 10  test.mp4

这样输出的test.mp4就是每秒播放10帧了

如果你要指定码率:

ffmpeg -f image2 -i c:\temp\d.jpg -vcodec libx264 -r 10 -b 200k  test.mp4


注意这里的200k的单位bit/s.

也许你要问那么到底最后生成的文件的参数都是什么样子,比如我们刚才设置的参数,还有我们没有设置的参数:

那么这个命令就可以帮你搞定:

ffmpeg -i test.mp4

 

看一看我的test.mp4的参数都是什么:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/14839.html