如何使用 ffmpeg 将 mp3 推送到 srs?

Posted

技术标签:

【中文标题】如何使用 ffmpeg 将 mp3 推送到 srs?【英文标题】:How to push mp3 to srs with ffmpeg? 【发布时间】:2021-08-27 03:27:29 【问题描述】:

我这样推送我的 MP3 文件:

ffmpeg.exe -re -stream_loop -1 -i ./ring.mp3 -c copy -f mp3 rtmp://$domain/live/test

但是 PotPlayer 不能很好地接受它。

【问题讨论】:

【参考方案1】:

对于 FFmpeg,您应该使用flv 而不是mp3 的格式,如下所示:

ffmpeg.exe -re -stream_loop -1 -i ./ring.mp3 -c copy \
  -f flv rtmp://$domain/live/test

# Or transcode the sample file of SRS
ffmpeg -re -i srs/trunk/doc/source.flv -vn -c:a libmp3lame \
  -f flv rtmp://localhost/live/test

然后通过ffplay播放:

ffplay rtmp://localhost/live/test

推荐使用AAC代替MP3,因为AAC使用更广泛,所以可以通过以下方式转码为aac:

ffmpeg -f flv -i rtmp://localhost/live/livestream -c:v copy -c:a aac \
  -f flv -y rtmp://localhost/live/test2

请注意,WebRTC 使用 opus 作为音频编解码器。

【讨论】:

以上是关于如何使用 ffmpeg 将 mp3 推送到 srs?的主要内容,如果未能解决你的问题,请参考以下文章

网络摄像头如何按需推流?

如何将视频帧推送到 obs 服务器以在 Android 上进行移动直播

海康摄像头开发SRS+ffmpeg+http-flv+flv.js(二)

rtsp实时流通过rtmp推送到服务端

ffmpeg命令行循环推流

关于ffmpeg推流,如何推流一个文件夹里的所有视频或者多个视频?