我正在使用 ffmpeg 命令行通过 tee 伪复用器获取多个输出。我尝试过的命令:
案例 1-在 mp4 中将视频 ( video.h264
) 与音频 ( audio.aac
) 混合并将 mpegts 发送到 udp 单播地址:
ffmpeg -i 'video.h264' -i "audio.aac" -vcodec copy -acodec copy -absf aac_adtstoasc -f tee -map 1:v -map 0:a "result.mp4|[f=mpegts]udp://127.0.0.1:2211"
输出 1:生成的 mp4 文件没有音频,播放时的 udp 流也没有音频。
案例 2-在 mpegts 文件中video.h26
使用音频 ( )混合视频 ( 4) 并将 mpegts 发送到 udp 单播地址:audio.aac
ffmpeg -i 'video.h264' -i "audio.aac" -vcodec copy -acodec copy -f tee -map 1:v -map 0:a "[f=mpefts]result.mpeg|[f=mpegts]udp://127.0.0.1:2211"
输出 2:生成的 mpegts 文件很好,播放时的 udp 流也有音频。没有问题。
我必须做案例 1,我可以复用 aac 和 h264 并获得两个输出,一个是 mp4 文件转储,第二个是流 mpegts udp 单播(如 udp://127.0.0.1:2211)。并且两个输出都应该有视频+音频。
谁能告诉我为什么在案例 1 中输出文件没有音频?