首页 > 其他分享 >FFmpeg命令视频音频转码参数详解

FFmpeg命令视频音频转码参数详解

时间:2024-03-16 09:00:10浏览次数:21  
标签:视频 ffmpeg 文件 音频 转码 参数 key FFmpeg

前言全局说明

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命名改为与文件夹中视频命名一致
image

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



标签:视频,ffmpeg,文件,音频,转码,参数,key,FFmpeg
From: https://www.cnblogs.com/wutou/p/18076672

相关文章

  • ffmpeg aiv转mp4
    MOV0001.AVI436Mffmpeg-y-iMOV00001.AVI-c:vlibx264-crf30-presetslow-c:aaac-b:a44k-ac21.mp4转换后130M-preset:指定编码的配置。x264编码算法有很多可供配置的参数,不同的参数值会导致编码的速度大相径庭,甚至可能影响质量。为了免去用户了解算法,然后手工配......
  • ffmpeg多路视频合并
    2,3,4路视频拼接可以参考下面:https://blog.csdn.net/tianshan2010/article/details/104737576https://blog.csdn.net/Gary__123456/article/details/887427054路拼接【上下左右】:ffmpeg-i1.mp4-i2.mp4-i3.mp4-i4.mp4-filter_complex"[0:v]pad=iw2:ih2[a];[a][1:v]ove......
  • Android14音频进阶:生产者与消费者模型(六十二)
    简介:CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长!优质专栏:Audio工程师进阶系列【原创干货持续更新中……】......
  • vue2播放音频组件mp3
    贴代码直接使用,配合了el-slider组件完成父组件data(){return{queryParams{visitTapesList:[{url:'xxxxxx'},{url:'xxxxxx'},{url:'xxxxxx'}]}}}<Audiov-for="(item,inde......
  • window下使用Cygwin编译ffmpeg步骤和问题记录
    window下使用Cygwin编译ffmpeg步骤和问题记录1.编译环境搭建安装Cygwin到Cygwin官网下载Cygwin的可执行程序setup-x86_64.exe官网地址:https://cygwin.com/install.html安装包地址:https://cygwin.com/setup-x86_64.exe安装操作很简单,基本是下一步,下一步就可以安装过程中,......
  • python 使用PaddleOCR读取图片文字,并用pyttsx3转为音频
    python小白,纯纯小白,很久之前看了一遍菜鸟官网,但实在没有应用场景,所以过目即忘。最近工作不是很忙,给我出了个题目,觉得挺有意思,就玩一玩。  所以关键点就是,图片提取出文字,然后文字转音频。1.图片提取文字,PaddleOCR出题人士,给出了git上一个ocr的工具库,支持图文信息的抽取。用......
  • Qt/C++音视频开发69-保存监控pcm音频数据到mp4文件/监控录像/录像存储和回放/264/265/
    一、前言用ffmpeg做音视频保存到mp4文件,都会遇到一个问题,尤其是在视频监控行业,就是监控摄像头设置的音频是PCM/G711A/G711U,解码后对应的格式是pcm_s16be/pcm_alaw/pcm_mulaw,将这个原始的音频流保存到mp4文件是会报错的,在调用avformat_write_header写文件头的时候提示(-22)Invali......
  • vue前端获取/切换麦克风、播放采集音频和采集音量大小完整代码
    1、创建Vue项目在终端运行npminstallelement-uinpminstallrecordrtc2、案例图示 3、代码1、获取麦克风列表if(navigator.mediaDevices&&navigator.mediaDevices.getUserMedia){varMic=[]//弹框获取麦克风navigator.mediaDevices.getUserMedia({a......
  • FFmpeg开发笔记(四)FFmpeg的动态链接库介绍
    FFmpeg不仅提供了ffmpeg、ffplay和ffprobe三个可执行程序,还提供了八个工具库,使得开发者能够调用库里面的函数,从而实现更精准的定制化开发需求。这八个库的名字是avcodec、avdevice、avfilter、avformat、avutil、postproc、swresample、swscale,下面分别对这些库展开介绍。更多详细......
  • AVIOContext(FFmpeg/ libavformat/ avio.h)
    AVIOContext/***BytestreamIOContext.*Newfieldscanbeaddedtotheendwithminorversionbumps.*Removal,reorderingandchangestoexistingfieldsrequireamajor*versionbump.*sizeof(AVIOContext)mustnotbeusedoutsidelibav*.**......