您的位置:首页 > 其它

ffmpeg.exe常用功能总结

2016-10-17 16:50 141 查看

1、综述

ffmpeg.exe是ffmpeg库提供的一个编解码工具,可以对各种音视频进行编解码,并输出不同的封装格式文件。

2、使用说明

命令的基本结构:

ffmpeg [global_options] {[input_file_options] -i input_file} … {[output_file_options] output_file}

上面的命令中,可以同时指定多个输入文件和输出文件。另外,输入文件选项和输出文件选项只对其后出现的第一个文件有效,所以要分别设置每一个文件的选项。

选项设置的具体方法和作用可以通过:

ffmpeg -h [long|full]

查询得到。

下面列举一些完成常用的功能的命令。

分离视频和音频

ffmpeg -i input_file.mp4 -vcodec copy -an output_file.avi //只保留了视频

ffmpeg -i input_file.mp4 -acodec copy -vn output_file.mp3 //只保留了音频

合并视频和音频

ffmpeg -i input_file1.avi -i input_file2.mp3 -vcodec copy -acodec copy output_file.mp4

选项说明:

-vcodec copy:指定复制视频数据,不对输如视频进行编解码

-acodec copy:指定复制音频数据,不对输如音频进行编解码

-an:指数去除音频数据

-vn:指定去除视频数据

上面两条命令的“copy”部分可以根据需要替换成编码器名称,举例如下:

-vcodec mpeg4:指定输出视频数据按照mp4格式编码

-acodec mp3:指定输出音频数据按照mp3格式编码

转换音频格式

ffmpeg -i input_file.mp3 -acodec g722 -ar 16k -ac 1 output_file.wav //转换MP3格式音频为用g722编码的wav格式

选项说明:

-acodec g722:音频编码器使用g722

-ar 16k:音频采样频率16kHz

-ac 1:音频通道数设为1

下面列举几个生成其他音频格式的命令:

ffmpeg -i input_file.mp3 -acodec g723_1 -ar 8k -ab 6.3k -ac 1 output_file.wav //g723标准要求采样频率8kHz,码率为5.3kbs/6.3kbs

ffmpeg -i input_file.mp3 -acodec g726 -ar 8k -ab 32k -ac 1 output_file.wav //g726标准要求采样率为8k,码率为40kbs/32kbs/24kbs/16kbs

ffmpeg没有提供g729的编码器,所以无法转换得到g729数据

视频格式转换

ffmpeg -i input_file.avi -f mp4 -vcodec output_file.mp4 //转换avi格式视频为MP4格式

参数说明:

-f mp4:指定输出视频封装格式为MP4

-vcodec h264:指定输出视频编码格式为h264

h264的裸流不能直接用ffmpeg封装到ts文件中(网上说加参数 –fflags +genpts也无效)

截取图片

ffmpeg -i input_file.h264 -y -f image2 -t 0.001 -s 420x272 output_file.jpg //截取视频开始的图片

参数说明:

-y:输出文件可以覆盖已存文件

-f image2:输出图像文件编码为image2

-t 0.001:持续时间为0.001s

-s 420x272:输出图片分辨率420x272

合成视频

ffmpeg -i input_file%d.jpg -y -f mp4 output_file.mp4 //把连续编号的图片文件生成视频

参数说明:

-y:输出文件可以覆盖已存文件

-f mp4:输出视频文件编码为MP4

其他例子:

ffmpeg -i input_file.h264 -y -f image2 -t 1 -s 420x272 output_file_%d.jpg //截取1s内所有的图像,输出文件按照顺序编号

ffmpeg -i input_file.h264 -y -f image2 -ss 60 -vframes 1 output_file.jpg //截取60s的一帧视频图片

ffmpeg -i input_file.h264 -y -f gif -ss 20 -vframes 30 output_file.jpg //截取20s后的30帧图片保存为gif
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ffmpeg-工具