多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
[TOC] # 分解与复用 流拷贝是通过将 copy 参数提供给-codec选项来选择流的模式。它使得ffmpeg省略了指定流的解码和编码步骤,所以它只能进行多路分解和多路复用。 这对于更改容器格式或修改容器级元数据很有用。 在这种情况下,上图将简化为: ![](https://box.kancloud.cn/f14f821ae9f1457abaccbd9c5923f6de_1180x215.png) ![](https://box.kancloud.cn/2ec7c4239178b8d40eb8adc3c20c76b8_725x159.png) 由于没有解码或编码,速度非常快,没有质量损失。 但是,由于许多因素,在某些情况下可能无法正常工作。 应用过滤器显然也是不可能的,因为过滤器处理未压缩的数据。 # 抽取音频流 ~~~ ffmpeg -i input.mp4 -acodec copy -vn out.aac ~~~ * acodec: 指定音频编码器,copy 指明只拷贝,不做编解码。 * vn: v 代表视频,n 代表 no 也就是无视频的意思 # 抽取视频流 ~~~ ffmpeg -i input.mp4 -vcodec copy -an out.h264 ~~~ * vcodec: 指定视频编码器,copy 指明只拷贝,不做编解码。 * an: a 代表视频,n 代表 no 也就是无音频的意思。 # 转格式 ~~~ ffmpeg -i out.mp4 -vcodec copy -acodec copy out.flv ~~~ 上面的命令表式的是音频、视频都直接 copy,只是将 mp4 的封装格式转成了flv。 copy是把原来的并不条件 ~~~ -i: 输入文件 -vcodec copy : 视频编码处理方式 -acodec copy: 音频编码处理方式 ~~~ 输出结果中有 ~~~ 花费时间,起始位置,比特率(码率) Duration: 00:13:49.35, start: 0.000000, bitrate: 418 kb/s 视频是h264 yuv420格式 Stream #0:0(eng): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv), 1920x1080, 283 kb/s, 18 fps, 18 tbr, 90k tbn, 36 tbc (default) ~~~ # 音视频合并 ~~~ ffmpeg -i out.h264 -i out.aac -vcodec copy -acodec copy out.mp4 ~~~