ffmpeg使用tee实现单次编码多路输出
2016-09-10 22:23
3415 查看
ffmpeg使用tee实现单次编码多路输出
tee简介首先贴一下官方手册的链接:https://ffmpeg.org/ffmpeg-formats.html#tee
tee muxer可以将相同的数据写到多个文件或者其它的muxer。例如:它可以同时将一路视频流输出到网络和本地磁盘。与ffmpeg的默认多路输出不同的是,用tee只编码一次。
语法
和普通的ffmpeg命令行相比,使用tee主要是两点区别:
1.主干的'-f'指定'tee';
2.输出路径是由'|'分隔的各个路径集合。
#例如: ffmpeg -i input.file -acodec aac -vcodec h264 -f tee -map 0:v -map 0:a "tee1.mp4|tee2.flv"
具体的,tee还支持一些参数:
f 直接指定封装格式。有的时候靠ffmpeg根据输出路径猜封装格式是不牢靠的,直接指定格式,简单暴力。 bsfs[/spec] 设置比特率过滤器。 select 选择指定的流输出,默认是使用全部流(主干)。
实例
# 1. 单路输入,输出一路mp4本地,一路TS over UDP (其中TS over UDP需要指定格式) ffmpeg -re -i Meerkats.mp4 -acodec aac -vcodec h264 -f tee -map 0:v -map 0:a "tee1.mp4|[f=mpegts]udp://10.33.2.27:9999" # 2. 使用ffmpeg进行编码,实现单路输入,四路输出(一路rtmp,一路ts,一路mp4,一路aac)。 ffmpeg -re -i Meerkats.mp4 -acodec aac -vcodec h264 -flags +global_header -strict experimental -f tee -map 0:v -map 0:a "[f=flv]rtmp://10.33.1.48/live1/tee1|[bsfs/v=dump_extra]out.ts|[movflags=+faststart]out.mp4|[select=a]out.aac"
相关文章推荐
- 使用FFmpeg类库实现YUV视频序列编码为视频
- 使用FFmpeg类库实现YUV视频序列编码为视频
- 使用FFmpeg类库实现YUV视频序列编码为视频
- 使用FFmpeg类库实现YUV视频序列编码为视频
- 使用FFmpeg类库实现YUV视频序列编码为视频
- 使用FFmpeg类库实现YUV视频序列编码为视频
- 在Andorid中使用FFmpeg实现YUV编码为MP4
- 编码实现>微软数据访问技术ADO.NET>使用DataSet>
- 使用 Java 进行图像处理 - 编码输出高分辨率图像
- 使用 Java 进行图像处理 - 编码输出高分辨率图像
- ffmpeg使用x264编码的配置+ ffmpeg与 x264编码器参数完整对照表
- PHP使用zlib扩展实现页面GZIP压缩输出
- Windows/Linux双平台下OpenGL字符串输出的实现(使用QuesoGLC库)
- 技巧和诀窍:使用ASP.NET 2.0 输出缓存替换的功能实现“甜圈缓存(Donut Caching)”
- 轻松使用 ffmpeg sdk 实现各种格式的rgb以及yuv raw
- 如何强制ffmpeg编码时输出一个关键帧
- 使用Log4j为项目配置日志输出应用详解以及示例演示的实现分析
- 使用 Java 进行图像处理 - 图像编码输出
- asp使用js时间控件,实现下拉日历 解决UTF-8和GB2312的编码问题
- 使用iconv命令轻松实现linux下字符集编码的转换