[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"solution-scenes-menu":3,"tech-detail-2093":4},true,{"id":5,"title":6,"content":7,"picUrl":8,"keyWords":9,"htmlDescribe":10,"htmlUrl":11,"gmtCreate":12,"gmtModified":12,"articleInfoId":13},"2093","美畅物联丨音视频神器FFmpeg常用命令(2)","\u003Cp>​前两天我们介绍了一些FFmpeg的常用命令，今天我们继续这个话题。\u003C\u002Fp>\u003Cp>FFmpeg命令可以转化各种格式的多媒体文件。\u003Cbr \u002F>按照功能分类可以分为如下常用几种类型\u003C\u002Fp>\u003Cul>\u003Cli style=\"text-align:justify;line-height:2\">信息查询部分\u003C\u002Fli>\u003Cli style=\"text-align:justify;line-height:2\">通用参数\u003C\u002Fli>\u003Cli style=\"text-align:justify;line-height:2\">视频参数\u003C\u002Fli>\u003Cli style=\"text-align:justify;line-height:2\">音频参数\u003C\u002Fli>\u003C\u002Ful>\u003Cp style=\"text-align:justify\">可以通过FFmpeg --help查看支持的上述命令\u003C\u002Fp>\u003Cp style=\"text-align:justify\">查询参数的部分如下：\u003C\u002Fp>\u003Cp style=\"text-align:justify\">\u003Cimg src=\"https:\u002F\u002Fqu-link.oss-cn-hangzhou.aliyuncs.com\u002F2024\u002F08\u002F02\u002F6bc5ee48-8779-4540-ae38-aa4e1bd12d3e.png\" alt=\"\" loading=\"lazy\" \u002F>\u003C\u002Fp>\u003Cp style=\"text-align:justify\">比如可以通过FFmpeg -codecs查看支持的编码类型\u003C\u002Fp>\u003Cp style=\"text-align:justify\">下面重点说下通用类型、音频参数和视频参数\u003C\u002Fp>\u003Cp style=\"text-align:justify\">\u003Cstrong>一、通用参数\u003C\u002Fstrong>\u003Cbr \u002F>\u003Cimg src=\"https:\u002F\u002Fqu-link.oss-cn-hangzhou.aliyuncs.com\u002F2024\u002F08\u002F02\u002F23282905-4ae4-4f19-b167-bcab5796c524.png\" alt=\"\" loading=\"lazy\" \u002F>\u003C\u002Fp>\u003Cp style=\"text-align:justify\">\u003Cstrong>二 音频参数\u003C\u002Fstrong>\u003C\u002Fp>\u003Cp style=\"text-align:justify\">\u003Cimg src=\"https:\u002F\u002Fqu-link.oss-cn-hangzhou.aliyuncs.com\u002F2024\u002F08\u002F02\u002F44270f27-b72d-4d5a-9127-564c63751d54.png\" alt=\"\" loading=\"lazy\" \u002F>\u003C\u002Fp>\u003Cp style=\"text-align:justify\">\u003Cstrong>三 视频参数\u003C\u002Fstrong>\u003C\u002Fp>\u003Cp style=\"text-align:justify\">\u003Cimg src=\"https:\u002F\u002Fqu-link.oss-cn-hangzhou.aliyuncs.com\u002F2024\u002F08\u002F02\u002Ff4ec0e3b-43a9-4eac-9ef2-87c582a75bb2.png\" alt=\"\" loading=\"lazy\" \u002F>\u003C\u002Fp>\u003Cp style=\"text-align:justify\">下面来看下一些比较常用的命令事例\u003C\u002Fp>\u003Cp style=\"text-align:justify\">\u003Cstrong>1. flac格式 --》转成mp3\u003C\u002Fstrong>\u003C\u002Fp>\u003Cp style=\"text-align:justify\">\u003Cimg src=\"https:\u002F\u002Fqu-link.oss-cn-hangzhou.aliyuncs.com\u002F2024\u002F08\u002F02\u002Fbeebf02f-d055-407b-8c4a-599fcbd478f2.png\" alt=\"\" loading=\"lazy\" \u002F>\u003C\u002Fp>\u003Cp style=\"text-align:justify\">输入的音频文件为in.flac，指定编码格式为libmp3lame（即mp3的编码库），音频采样率44100，比特率为320kb\u002Fs，声道数量为2，输出文件为out.mp3\u003C\u002Fp>\u003Cp style=\"text-align:justify\">\u003Cstrong>2. 转换视频格式\u003C\u002Fstrong>\u003C\u002Fp>\u003Cp style=\"text-align:justify\">\u003Cimg src=\"https:\u002F\u002Fqu-link.oss-cn-hangzhou.aliyuncs.com\u002F2024\u002F08\u002F02\u002F75032dfe-5539-4734-94ce-d09667cc360f.png\" alt=\"\" loading=\"lazy\" \u002F>\u003C\u002Fp>\u003Cp style=\"text-align:justify\">码率控制模式: -qp -crf -b\u003C\u002Fp>\u003Cp style=\"text-align:justify\">-qp(Constant Quantizer)恒定量化器模式\u003Cbr \u002F>-crf(Constant Rate Factor) 恒定速率因子模式\u003Cbr \u002F>-b （bitrate） 固定目标码率模式\u003C\u002Fp>\u003Cp style=\"text-align:justify\">VBR（Variable Bit Rate）动态比特率 简单的给少些码率、负责的多放些码率\u003C\u002Fp>\u003Cp style=\"text-align:justify\">CBR（Constant Bit Rate）恒定比特率 在vbr的基础上改进 码率固定在一个值上\u003C\u002Fp>\u003Cp style=\"text-align:justify\">\u003Cstrong>3. 提取视频\u003C\u002Fstrong>\u003C\u002Fp>\u003Cp style=\"text-align:justify\">\u003Cimg src=\"https:\u002F\u002Fqu-link.oss-cn-hangzhou.aliyuncs.com\u002F2024\u002F08\u002F02\u002F95f6c106-c583-4a67-8866-22581609ac44.png\" alt=\"\" loading=\"lazy\" \u002F>\u003C\u002Fp>\u003Cp style=\"text-align:justify\">还可以从视频文件中直接提取出裸h264数据\u003C\u002Fp>\u003Cp style=\"text-align:justify\">FFmpeg -i in.mp4 -an -vcodec copy -bsf:v h264_mp4toannexb out.h264\u003Cbr \u002F>其中mp4toannexb是一种bitmapfilter类型\u003C\u002Fp>\u003Cp style=\"text-align:justify\">\u003Cstrong>4. 提取音频\u003C\u002Fstrong>\u003C\u002Fp>\u003Cp style=\"text-align:justify\">\u003Cimg src=\"https:\u002F\u002Fqu-link.oss-cn-hangzhou.aliyuncs.com\u002F2024\u002F08\u002F02\u002F2f67285f-f3d4-4f35-8485-88ed46c2aae2.png\" alt=\"\" loading=\"lazy\" \u002F>\u003C\u002Fp>\u003Cp style=\"text-align:justify\">如果多个音频流 通过 -map 0:3来分别提取\u003C\u002Fp>\u003Cp style=\"text-align:justify\">\u003Cimg src=\"https:\u002F\u002Fqu-link.oss-cn-hangzhou.aliyuncs.com\u002F2024\u002F08\u002F02\u002F70b38f06-771e-4743-ab58-3e73ce88c752.png\" alt=\"\" loading=\"lazy\" \u002F>\u003C\u002Fp>\u003Cp style=\"text-align:justify\">再合并回去\u003C\u002Fp>\u003Cp style=\"text-align:justify\">\u003Cimg src=\"https:\u002F\u002Fqu-link.oss-cn-hangzhou.aliyuncs.com\u002F2024\u002F08\u002F02\u002Fb9a7c475-0617-487e-a9ff-09856fc21801.png\" alt=\"\" loading=\"lazy\" \u002F>\u003C\u002Fp>\u003Cp style=\"text-align:justify\">\u003Cstrong>5. 截取\u003C\u002Fstrong>\u003C\u002Fp>\u003Cp style=\"text-align:justify\">\u003Cimg src=\"https:\u002F\u002Fqu-link.oss-cn-hangzhou.aliyuncs.com\u002F2024\u002F08\u002F02\u002F14e1b9c0-8ad1-43cb-9a0d-744f01b4f707.png\" alt=\"\" loading=\"lazy\" \u002F>\u003C\u002Fp>\u003Cp style=\"text-align:justify\">把-ss放在-i之前，FFmpeg会启用关键帧技术，加速它的操作，但这样提取出来的时期，在播放时显示的起止不一定准确，可以通过 -copyts 拷贝时间戳，保证时间的正确性\u003C\u002Fp>\u003Cp style=\"text-align:justify\">\u003Cimg src=\"https:\u002F\u002Fqu-link.oss-cn-hangzhou.aliyuncs.com\u002F2024\u002F08\u002F02\u002F8de6c1f2-3d69-49ac-a1ae-889fb8dbf83c.png\" alt=\"\" loading=\"lazy\" \u002F>\u003C\u002Fp>\u003Cp style=\"text-align:justify\">还可以截取多个文件\u003C\u002Fp>\u003Cp style=\"text-align:justify\">\u003Cimg src=\"https:\u002F\u002Fqu-link.oss-cn-hangzhou.aliyuncs.com\u002F2024\u002F08\u002F02\u002Fd0544a2a-dfb1-4ab1-ac58-ea26b66353fb.png\" alt=\"\" loading=\"lazy\" \u002F>\u003C\u002Fp>\u003Cp style=\"text-align:justify\">\u003Cstrong>6. 把多个视频连接成一个视频\u003C\u002Fstrong>\u003C\u002Fp>\u003Cp style=\"text-align:justify\">多个视频的宽高、码率一致\u003C\u002Fp>\u003Cp style=\"text-align:justify\">\u003Cimg src=\"https:\u002F\u002Fqu-link.oss-cn-hangzhou.aliyuncs.com\u002F2024\u002F08\u002F02\u002F03bf25e7-af26-4a2f-8139-a85ab3f40186.png\" alt=\"\" loading=\"lazy\" \u002F>\u003C\u002Fp>\u003Cp style=\"text-align:justify\">如果参数不一致推荐使用Avidemux这款软件处理\u003C\u002Fp>\u003Cp style=\"text-align:justify\">\u003Cstrong>7. 截图\u003C\u002Fstrong>\u003C\u002Fp>\u003Cp style=\"text-align:justify\">\u003Cimg src=\"https:\u002F\u002Fqu-link.oss-cn-hangzhou.aliyuncs.com\u002F2024\u002F08\u002F02\u002F5bfdca62-9e8d-4234-bbb3-6a5f54a07b9e.png\" alt=\"\" loading=\"lazy\" \u002F>\u003C\u002Fp>\u003Cp style=\"text-align:justify\">上述指令是指 在第五秒截图\u003Cbr \u002F>\u003C\u002Fp>\u003Cp style=\"text-align:justify\">还可以采用更加方便的方式截一系列的图\u003C\u002Fp>\u003Cp style=\"text-align:justify\">\u003Cimg src=\"https:\u002F\u002Fqu-link.oss-cn-hangzhou.aliyuncs.com\u002F2024\u002F08\u002F02\u002F0361009e-1e0e-475b-99fd-80896a256dbd.png\" alt=\"\" loading=\"lazy\" \u002F>\u003C\u002Fp>\u003Cp style=\"text-align:justify\">上述命令指定每4秒截取一帧画面生成一张图片，\u003C\u002Fp>\u003Cp style=\"text-align:justify\">\u003Cstrong>8. 水印\u003C\u002Fstrong>\u003C\u002Fp>\u003Cp style=\"text-align:justify\">\u003Cimg src=\"https:\u002F\u002Fqu-link.oss-cn-hangzhou.aliyuncs.com\u002F2024\u002F08\u002F02\u002F656a362e-9b70-43af-8062-c94b71f0dd96.png\" alt=\"\" loading=\"lazy\" \u002F>\u003C\u002Fp>\u003Cp style=\"text-align:justify\">通过两个-i指定两个输入源，一个是视频，一个是水印，通过filter_complex指定水印的位置_\u003C\u002Fp>\u003Cp style=\"text-align:justify\">\u003Cstrong>9. 动图\u003C\u002Fstrong>\u003C\u002Fp>\u003Cp style=\"text-align:justify\">\u003Cimg src=\"https:\u002F\u002Fqu-link.oss-cn-hangzhou.aliyuncs.com\u002F2024\u002F08\u002F02\u002Fec3ef844-0fd0-4490-9851-703c3e9aefe0.png\" alt=\"\" loading=\"lazy\" \u002F>\u003C\u002Fp>\u003Cp style=\"text-align:justify\">指定分辨率为640x320，帧率为15\u003C\u002Fp>\u003Cp style=\"text-align:justify\">或者可以通过如下命令指定宽高\u003C\u002Fp>\u003Cp style=\"text-align:justify\">\u003Cimg src=\"https:\u002F\u002Fqu-link.oss-cn-hangzhou.aliyuncs.com\u002F2024\u002F08\u002F02\u002F9a89ebd9-01d9-4b02-bc06-91e5655cc269.png\" alt=\"\" loading=\"lazy\" \u002F>\u003C\u002Fp>\u003Cp style=\"text-align:justify\">宽高比不变，宽度指定为100\u003C\u002Fp>\u003Cp style=\"text-align:justify\">还可以把一组图片生成一张动图\u003C\u002Fp>\u003Cp style=\"text-align:justify\">\u003Cimg src=\"https:\u002F\u002Fqu-link.oss-cn-hangzhou.aliyuncs.com\u002F2024\u002F08\u002F02\u002F358a0e6b-b691-4283-bddd-09d3ff1ee7e4.png\" alt=\"\" loading=\"lazy\" \u002F>\u003C\u002Fp>\u003Cp style=\"text-align:justify\">\u003Cstrong>10.淡入淡出效果\u003C\u002Fstrong>\u003C\u002Fp>\u003Cp style=\"text-align:justify\">给一个音频做一个淡入的效果,可以通过如下命令\u003C\u002Fp>\u003Cp style=\"text-align:justify\">\u003Cimg src=\"https:\u002F\u002Fqu-link.oss-cn-hangzhou.aliyuncs.com\u002F2024\u002F08\u002F02\u002F5010fd23-6a27-4afa-b869-44853b879033.png\" alt=\"\" loading=\"lazy\" \u002F>\u003C\u002Fp>\u003Cp style=\"text-align:justify\">前5秒做个淡入效果\u003C\u002Fp>\u003Cp style=\"text-align:justify\">淡出效果可以采用如下命令\u003C\u002Fp>\u003Cp style=\"text-align:justify\">\u003Cimg src=\"https:\u002F\u002Fqu-link.oss-cn-hangzhou.aliyuncs.com\u002F2024\u002F08\u002F02\u002Fbab78fc7-0278-41dd-9815-aba8cdc70d7c.png\" alt=\"\" loading=\"lazy\" \u002F>\u003C\u002Fp>\u003Cp style=\"text-align:justify\">从200秒开始做5秒的淡出效果\u003C\u002Fp>\u003Cp style=\"text-align:justify\">\u003Cstrong>11. 倍速\u003C\u002Fstrong>\u003C\u002Fp>\u003Cp style=\"text-align:justify\">两倍速处理音频\u003C\u002Fp>\u003Cp style=\"text-align:justify\">\u003Cimg src=\"https:\u002F\u002Fqu-link.oss-cn-hangzhou.aliyuncs.com\u002F2024\u002F08\u002F02\u002F7eb4be8f-4a0d-4712-b016-e6969f9df5ce.png\" alt=\"\" loading=\"lazy\" \u002F>\u003C\u002Fp>\u003Cp style=\"text-align:justify\">0.5倍速处理音频\u003C\u002Fp>\u003Cp style=\"text-align:justify\">\u003Cimg src=\"https:\u002F\u002Fqu-link.oss-cn-hangzhou.aliyuncs.com\u002F2024\u002F08\u002F02\u002Ff4543ead-f6e3-4b17-a74f-f5cd50a73e30.png\" alt=\"\" loading=\"lazy\" \u002F>\u003C\u002Fp>\u003Cp style=\"text-align:justify\">\u003Cstrong>12.混音\u003C\u002Fstrong>\u003C\u002Fp>\u003Cp style=\"text-align:justify\">将两个声音进行合并\u003C\u002Fp>\u003Cp style=\"text-align:justify\">\u003Cimg src=\"https:\u002F\u002Fqu-link.oss-cn-hangzhou.aliyuncs.com\u002F2024\u002F08\u002F02\u002F1f1b1398-4ece-4406-a12a-3fdf55bdec66.png\" alt=\"\" loading=\"lazy\" \u002F>\u003C\u002Fp>\u003Cp style=\"text-align:justify\">\u003Cspan style=\"color:rgb(0, 0, 0)\">本期《音视频神器FFmpeg常用命令》已经介绍完了，下一期我们谈谈《\u003C\u002Fspan>RTP与RTCP：实时音视频传输的基础协议\u003Cspan style=\"color:rgb(0, 0, 0)\">》，关注美畅物联，了解更多视频汇聚及AIoT底座相关的技术分享。\u003C\u002Fspan>\u003C\u002Fp>\u003Cp style=\"text-align:justify\">\u003Cbr \u002F>\u003C\u002Fp>","https:\u002F\u002Fqu-link.oss-cn-hangzhou.aliyuncs.com\u002F2024\u002F08\u002F02\u002F37fe7d27-c9e2-4a41-8b4a-823eafbff5da.jpg","美畅，美畅物联，畅联，畅联云平台，视频监控云平台，云视频监控，视频云平台，视频开放平台，视频感知云，视频接入网关，AIoT综合接入网关，视频中台，物联网中台，无插件播放，H265播放，Ehome，ISUP， GB28181，GB35114，gat1400，JT808，JT1078","原创技术分享","http:\u002F\u002Fwww.24hlink.cn\u002Fweb-index\u002FUC25VAG.html","2024-08-02 15:40:10","703"]