带有 4 个音频通道的 ffmpeg 单输出容器到 AWS IVS

问题描述

尝试在单个容器中向 AWS IVS 发送 1 个视频和 4 个不同的音频。我应该使用哪个容器或多路复用器? FLV 不支持多音频,matroska 不支持 rtmp 我猜 link。 3GP 和 mp4 容器没有给我错误,但在 IVS 上都没有显示视频

为了简单的尝试,我使用了这个命令。

ffmpeg -re -stream_loop -1 -i sample.mkv -r 30 -c:v libx264 -pix_fmt yuv420p -profile:v main -preset veryfast -x264opts "nal-hrd=cbr:no-scenecut" -minrate 3000 -maxrate 3000 -g 
60 -c:a aac -ac 2 -ar 44100 -vb 400k -maxrate 400k -minrate 400k -bufsize 800k -movflags frag_keyframe+empty_moov -f mp4 rtmps:someurls

上面的命令不包括多音频输出,所以只是尝试发送除了 flv 格式

解决方法

Amazon IVS 只能支持单声道或立体声轨道。以下是推荐的音频配置设置:

Codec: AAC (LC)

Bitrate: anything up to 320 Kbps

Sample rate: 44.1 Khz or 48 Khz (it is best to match your production audio flow)

Channels: Maximum 2 - Stereo (1: mono or 2: stereo audio channel support)

参考:- https://docs.aws.amazon.com/ivs/latest/userguide/streaming-config.html

如果您的要求是支持多音频通道,AWS Elemental MediaLive 有能力支持此工作流程。但是您需要使用传输流容器格式(带有 FEC 或 Zixi 的 RTP) 而不是 RTMP。我建议您查看以下参考实现。

https://aws.amazon.com/solutions/implementations/live-streaming-on-aws/