网站首页 > 编程文章 正文
介绍
- -map参数告诉ffmpeg要从输入源中选择/拷贝哪个stream流到输出,可以从输入源中选择多个音视频流作为输出。
- 不加-map参数,ffmpeg默认从输入源中的视频流和音频流各选择一个流。
- 输出流/文件的stream顺序取决于在命令行中-map的参数顺序。
默认情况
缺省情况下(没有使用-map参数),比如:
ffmpeg -i 0001.ts -c copy -f mpegts udp://192.168.1.100&pkt_size=1316
FFmpeg会默认从所有输入流中找到[最高质量的一个视频输入流]和[最高质量的一个音频输入流],并拷贝流输出udp输出流。其他流实质上会被丢弃。
如果使用map命令显示与上面命令相同的操作,它的命令如下:
ffmpeg -i 0001.ts \
-map single_highest_quality_video_stream_from_all_inputs \
-map single_highest_quality_audio_stream_from_all_inputs \
-c copy -f mpegts "udp://192.168.1.100:1234?pkt_size=1316"
此处输出将有两个流,一个音频,一个视频。
相关学习资料推荐,点击下方链接免费报名,先码住不迷路~】
免费学习地址:https://xxetb.xet.tech/s/2cGd0
【免费分享】音视频学习资料包、大厂面试题、技术视频和学习路线图,资料包括(C/C++,Linux,FFmpeg webRTC rtmp hls rtsp ffplay srs 等等)有需要的可以点击788280672加群免费领取~
指定输入流中的音视频流
例子,0001.ts是个单视频流,多音频流的信息如下:
- Stream #0:0 是视频流
- Stream #0:1 ~ Stream #0:3 是音频流
- Stream #0:4 是字幕流
Input #0, mpegts, from '0001.ts':
Duration: 00:04:46.23, start: 57251.747478, bitrate: 5861 kb/s
Program 34
Metadata:
service_name : Test TV HD
service_provider: TV5
Stream #0:0[0x53d]: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p(tv, bt470bg, top first), 1920x1080 [SAR 1:1 DAR 16:9], 25 fps, 50 tbr, 90k tbn, 50 tbc
Stream #0:1[0x53e](THA): Audio: aac_latm (HE-AACv2) ([17][0][0][0] / 0x0011), 48000 Hz, stereo, fltp
Stream #0:2[0x53f](QAA): Audio: aac_latm (HE-AACv2) ([17][0][0][0] / 0x0011), 48000 Hz, stereo, fltp
Stream #0:3[0x540](NAR): Audio: aac_latm (LC) ([17][0][0][0] / 0x0011), 48000 Hz, stereo, fltp
Stream #0:4[0x541](tha): Subtitle: dvb_subtitle ([6][0][0][0] / 0x0006)
01 如要要指定取多视频和多音频流中的一路流,要怎么处理呢?
如下命令:
-map 0:0 -map 0:2
选择输入源中Stream #0:0的视频流,Stream #0:2的音频流,拷贝选择的音视频流输出到udp输出流
ffmpeg -i 0001.ts -map 0:0 -map 0:2 -c copy -f mpegts "udp://192.168.1.100:1234?pkt_size=1316"
02 如要要指定取单路视频流和多路音频流,要怎么处理呢?
如下命令:
-map 0:0 -map 0:1 -map 0:2 -map 0:3
选择输入源中Stream #0:0的视频流,Stream #0:0、Stream #0:1和Stream #0:3的三路音频流,拷贝选择的音视频流输出到udp输出流
ffmpeg -i 0001.ts -map 0:0 -map 0:1 -map 0:2 -map 0:3 \
-c copy -f mpegts "udp://192.168.1.100:1234?pkt_size=1316"
03 如要要取所有的视频和音频流,要怎么处理呢?
如下命令:
-map 0:a -map 0:v
选择输入源中所有视频流和所有的音频,拷贝所有的音视频流输出到udp流中
ffmpeg -i 0001.ts -map 0:a -map 0:v -c copy -f mpegts "udp://192.168.1.100:1234?pkt_size=1316"
04 如要要取所有流(包括字幕流等),要怎么处理呢?
如下命令:
-map 0
选择输入源中所有的流,拷贝所有的流输出到udp流中
ffmpeg -i 0001.ts -map 0 -c copy -f mpegts "udp://192.168.1.100:1234?pkt_size=1316"
指定输入流中的多音视频流编码格式
有时处理输入源中的多视频和多音频流时,想针对不同音视频流做不同的编码处理
如下命令:
- 将Stream #0:0视频流拷贝复制
- 将Stream #0:1和Stream #0:2音频流拷贝复制
- 将Stream #0:2音频流编码为mp3格式(128kbps)
- 将Stream #0:4字幕流拷贝复制
fffmpeg -i 0001.ts -map 0:0 -map 0:1 -map 0:2 -map 0:3 -map 0:4 \
- c:v copy \
- c:a:0 copy \
- c:a:1 copy \
- c:a:2 libmp3lame -b:a:2 128k \
- c:s copy \
-f mpegts "udp://192.168.1.100:1234?pkt_size=1316"
原文 FFmpeg map参数选择音视频流
猜你喜欢
- 2024-09-08 技术分享| 如何使用FFmpeg命令处理音视频
- 2024-09-08 ubuntu ffmpeg开发环境搭建(ffmpeg linux开发)
- 2024-09-08 嘉宾博文:OpenCV如何在区块链操作系统中进行交叉编译
- 2024-09-08 想做人工智能的你,OpenCV安装好了吗?AI大神手把手教会你
- 2024-09-08 Kotlin编写一个AudioMerger 在线音视频解析七
- 2024-09-08 FFmpeg中与视频解码相关知识简介(ffmpeg hevc解码)
- 2024-09-08 ffmpeg教程-手把手教你如何简单快捷处理音视屏
- 2024-09-08 C++与音视频处理: 处理音频和视频数据的编码和解码
- 2024-09-08 ffmpeg安装大放送,包括编译需要的支持库
- 2024-09-08 ffmpeg推流桌面直播(ffmpeg推流rtsp命令)
你 发表评论:
欢迎- 05-09Spring Boot3 RESTful 接口参数校验,这篇吃透就够了!
- 05-09《Spring6》第02节:基于XML方式搭建Spring6框架开发环境
- 05-09MapStruct架构设计(mapstruct @mapping)
- 05-09分布式微服务架构组件(分布式微服务架构设计)
- 05-09Java Swing组件下的JButton实例(java swing 组件)
- 05-09java基础都在这了,小主们拿去吧(java基础是指什么)
- 05-09AOP的实现落地(拦截过滤),一切都要从Servlet说起
- 05-09【Spring Boot】WebSocket 的 6 种集成方式
- 最近发表
-
- Spring Boot3 RESTful 接口参数校验,这篇吃透就够了!
- 《Spring6》第02节:基于XML方式搭建Spring6框架开发环境
- MapStruct架构设计(mapstruct @mapping)
- 分布式微服务架构组件(分布式微服务架构设计)
- Java Swing组件下的JButton实例(java swing 组件)
- java基础都在这了,小主们拿去吧(java基础是指什么)
- AOP的实现落地(拦截过滤),一切都要从Servlet说起
- 【Spring Boot】WebSocket 的 6 种集成方式
- Java 中五种最常见加密算法:原理、应用与代码实现
- 用注解进行参数校验,spring validation介绍、使用、实现原理分析
- 标签列表
-
- spire.doc (59)
- system.data.oracleclient (61)
- 按键小精灵源码提取 (66)
- pyqt5designer教程 (65)
- 联想刷bios工具 (66)
- c#源码 (64)
- graphics.h头文件 (62)
- mysqldump下载 (66)
- sqljdbc4.jar下载 (56)
- libmp3lame (60)
- maven3.3.9 (63)
- 二调符号库 (57)
- 苹果ios字体下载 (56)
- git.exe下载 (68)
- diskgenius_winpe (72)
- pythoncrc16 (57)
- solidworks宏文件下载 (59)
- qt帮助文档中文版 (73)
- satacontroller (66)
- hgcad (64)
- bootimg.exe (69)
- android-gif-drawable (62)
- axure9元件库免费下载 (57)
- libmysqlclient.so.18 (58)
- springbootdemo (64)
本文暂时没有评论,来添加一个吧(●'◡'●)