前言全局说明
FFmpeg命令转码参数详解
一、参数
1.1 FFmpeg 常用参数
参数 | 说明 | 备注 |
---|---|---|
-i filename | 指定输入文件(或直接写文件名,用| 竖线分割),在Linux下当然也能指定:0.0(屏幕录制)或摄像头。 | |
-c:v | 指定视频编码器 copy、libx265 | |
-crf | 指定视频质量,范围为0-51,0为无损,23为默认值,数值越小,质量越高,文件越大 | |
-c:a | 指定音频编码器 | |
-f fmt | 设定输出格式(音频或者视频格式)。 | |
-y | 覆盖已有文件。 | |
-t duration | 指定时长。 | |
-fs limit_size | 设置文件大小的上限。 | |
-ss time_off | 从指定的时间(单位为秒)开始,也支持[-]hh:mm:ss[.xxx]的格式。 | |
-re | 代表按照帧率发送,尤其在作为推流工具的时候一定要加入该参数,否则ffmpeg会按照最高速率向流媒体服务器不停地发送数据。 | |
-map | 指定输出文件的流映射关系。如果没有-map选项,则ffmpeg采用默认的映射关系。 例如:“-map 1:0-map 1:1”要求将第二个输入文件的第一个流和第二个流写入输出文件。 |
|
1.2 FFmpeg 视频、图像参数
参数 | 说明 | 备注 |
---|---|---|
-bitexact | 使用标准比特率。 | |
-vb | 指定视频比特率(bits/s) | |
-r rate | 帧速率(fps) | |
-vframes | 设置要输出的视频帧数 | |
-b:v | 设定视频码率 | 64k |
-bufsize | 64k | |
-s | 设定画面的宽与高 | |
-vn | 不处理视频 | |
-aspect aspect | 设置横纵比 4:3 16:9 或 1.3333 1.7777 | |
-vcodec | 设定视频编解码器。copy表示原始编解码数据必须被拷贝; libx265表示使用libx265编码器 | |
-vf | 视频过滤器 | |
-c:v | copy、libx265 | |
qp | 量化比例为0~51。qp越大,压缩越厉害,失真越严重,失去的信息越多,画面也就越模糊。 | |
1.3 FFmpeg 音频参数
参数 | 说明 | 备注 |
---|---|---|
-aframes | 设置要输出的音频帧数 | |
-b:a | 音频码率 | |
-ar | 设定采样率 | |
-ac | 设定声音的Channel数 | |
-acodec | 设定声音编解码器,如果用copy表示原始编解码数据必须被拷贝。 | |
-an | 不处理音频 | |
-af | 音频过滤器 | |
-c:a aac | 指定音频编码器 | |
-b:a | 指定音频比特率 | |
1.3 FFmpeg其他参数
参数 | 说明 | 备注 |
---|---|---|
-safe 0 | 防止Operation not permitted | |
-allowed_extensions ALL | ||
-protocol_whitelist "file,http,crypto,tcp" | ||
-strict experimental | ||
-preset | 指定编码速度和质量的平衡,可选项有ultrafast、superfast、veryfast、faster、fast、medium、slow、slower、veryslow | |
二、多个文件时 -i 用法
2.1 多个视频文件写入到 txt 文本里
ffmpeg.exe -f concat -safe 0 -i file.txt -c copy out.mp4
2.2 多个视频文件用 | 分割
ffmpeg -i "concat:34020000001310000701_live-16.ts|34020000001310000701_live-17.ts|" -c copy output.mp4
三、ffmpeg处理合并AES-128加密的ts文件
1、下载好的m3u8文件,放到同一个文件夹里,它应该包括三个部分:
a、文件夹,里面有很多的ts文件。
b、一个m3u8文件
c、一个key文件,命名为"key.key"。完好的key文件是16字节。
接下来把m3u8文件和key文件复制到ts文件夹里。
2、m3u8如下图所示,需要将URI改为“key.key”,然后将分段视频ts命名改为与文件夹中视频命名一致
3、使用ffmpeg命令:将文件合并为output.mp4
ffmpeg -allowed_extensions ALL -protocol_whitelist "file,http,crypto,tcp" -i index.m3u8 -c copy output.mp4
四、
免责声明:本号所涉及内容仅供安全研究与教学使用,如出现其他风险,后果自负。
参考、来源:
http://www.manongjc.com/detail/23-xyrsjrgxjrqcmxi.html
https://www.bilibili.com/read/cv28266664/ 作者:人生是一场苦修 出处:bilibili
https://www.cnblogs.com/yiduobaozhiblog1/p/16252450.html
https://blog.csdn.net/fanyun_01/article/details/103299866
https://blog.csdn.net/huayizaisheng/article/details/118545623
https://blog.csdn.net/weixin_45736829/article/details/108427922
https://ffmpeg.org/ffmpeg-codecs.html