ffmpeg.exe常用功能总结

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.exe常用功能总结)