如何将实时 RTMP 视频转换为实时 mp3 Icecast 流

     2023-02-25     261

关键词:

【中文标题】如何将实时 RTMP 视频转换为实时 mp3 Icecast 流【英文标题】:how to transform live RTMP video to live mp3 Icecast stream 【发布时间】:2015-04-16 17:39:44 【问题描述】:

我有带有视频和音频的 RTMP 直播。 我可以从 RTMP 获取 ogg 音频直播并将其翻译成 Icecast2 并使用 JPlayer 在我的网站上获取。 现在我使用这样的命令:

/usr/local/bin/ffmpeg -re -i rtmp://192.168.22.12/live/live1 \
-vn -acodec libvorbis -b:a 48k -f ogg - | oggfwd -p -d "" \
-g "" -u "" localhost 8000 somepass live2

然后我使用 Icecast2 流式传输我的实时音频,但它是 OGG 格式,所以移动设备不播放它(Android 设备在开始播放之前有将近 30 秒的延迟时间,iOS 设备不想播放它)。

如何在发送到 Icecast2 之前将其转码为 mp3?

【问题讨论】:

【参考方案1】:

如果您使用的是(非常)最新版本,则可以为此使用 ffmpeg。 要测试您的 ffmpeg 是否能够流式传输到 Icecast,请执行以下操作:

ffmpeg -protocols -v 0 | grep icecast

如果返回“icecast”,万岁,您可以执行以下操作:

ffmpeg -re -i rtmp://192.168.22.12/live/live1 -vn \
       -codec:a libmp3lame -b:a 64k -f mp3 \
       -content_type audio/mpeg \
       icecast://source:pass@example.com:8000/mountpoint.mp3

source 替换为特定用户名(如果您已配置),否则将其保留为源。其他的事情应该是显而易见的。

【讨论】:

如果您使用旧版本,请在输入 URL 中添加 `live=1`,例如:-i "rtmp://192.168.22.12/live/live1 live=1";如果您使用 Debian 8,请安装 libav-tools 并将 ffmpeg 替换为 @987654326 @ source:pass 是什么? Icecast 源用户和密码。

如何使用python实时将wav转换为mp3?

】如何使用python实时将wav转换为mp3?【英文标题】:howtoconvertwavtomp3inliveusingpython?【发布时间】:2014-10-1714:45:29【问题描述】:我有如下所示的代码来从麦克风获取音频:importpyaudiop=pyaudio.PyAudio()CHUNK=1024FORMAT=pyaudio.paInt16CHANNELS=2RA... 查看详情

将通过 HTTP 流式传输的 wav 实时转换为 mp3

】将通过HTTP流式传输的wav实时转换为mp3【英文标题】:ConvertwavstreamedoverHTTPtomp3,inreal-time【发布时间】:2014-06-1316:53:22【问题描述】:背景:我正在使用一项服务,该服务返回MIME类型为audio/wav的数据。我需要为此音频提供播放机... 查看详情

将实时视频帧转换为灰度 (OpenCV)

】将实时视频帧转换为灰度(OpenCV)【英文标题】:ConvertingLiveVideoFramestoGrayscale(OpenCV)【发布时间】:2016-09-0104:20:13【问题描述】:首先,我应该说我是OpenCV的初学者。我正在尝试将网络摄像头中的实时视频流从RGB转换为灰度。我... 查看详情

寻找一个库/框架将实时视频从 OS X 流式传输到 Wowza 服务器(RTMP)[关闭]

】寻找一个库/框架将实时视频从OSX流式传输到Wowza服务器(RTMP)[关闭]【英文标题】:Lookingforalibrary/frameworktostreamlivevideofromOSXtoWowzaserver(RTMP)[closed]【发布时间】:2012-07-1313:49:46【问题描述】:我已经知道我可以通过FFMPEG将视频... 查看详情

将 FMS RTMP 直播流转换为 BlackBerry 的 RTSP

...时间】:2012-08-1418:56:40【问题描述】:有没有办法将RTMP实时流从FMS4.5转换为BlackBerry应用程序的RTSP?我部署了FMS4.5服务器,希望通过本机应用程序向BlackBerry用户启用实时流媒体,根据BlackBerry文档,可以 查看详情

实时视频流、视频通话 Red5、RTMP 和 WebRTC、WSS?

】实时视频流、视频通话Red5、RTMP和WebRTC、WSS?【英文标题】:LiveVideoStreaming,VideoCallsRed5,RTMPandWebRTC,WSS?【发布时间】:2017-09-0302:21:06【问题描述】:我的VPS上安装了最新的red5。我也知道RTMP连接/链接用于与Red5服务器通信。RTMP连... 查看详情

如何使用 ffmpeg 将实时 m3u8 文件流式传输到 youtube rtmp

】如何使用ffmpeg将实时m3u8文件流式传输到youtubertmp【英文标题】:howtostreamlivem3u8fileusingffmpegtoyoutubertmp【发布时间】:2018-12-0821:24:33【问题描述】:我想将实时m3u8文件重新流式传输到youtube.我使用了以下代码fmpeg-re-i<http://mypanel... 查看详情

如何将实时图像 url 转换为角度的 blob? [复制]

】如何将实时图像url转换为角度的blob?[复制]【英文标题】:Howtoconvertliveimageurlintoblobinangular?[duplicate]【发布时间】:2019-08-2702:40:50【问题描述】:我在Angular7中工作,我的要求是我需要获取图像的Width、Height和Size(inhowmuchkbormb),... 查看详情

python通过ffmpeg实现实时推流(ubuntu20.04+ffmpeg+nginx)(代码片段)

...频抓图、给视频加水印等。1.2RTMP简介RTMP协议,又称实时消息传输协议(RealTimeMessagingProtocol),该协议基于TCP,是一个协议族行,用于实时数据通信的网络协议,主要用来在Flash/AIR平台和支持RTMP协议的流媒体/交互服... 查看详情

ExoPlayer 无法播放 Adob​​e 实时流编码器流式传输的音频/视频 (RTMP)

】ExoPlayer无法播放Adob​​e实时流编码器流式传输的音频/视频(RTMP)【英文标题】:ExoPlayercan\'tplayaudio/videostreamed(RTMP)byAdobelivestreamencoder【发布时间】:2019-02-2408:04:25【问题描述】:我正在使用AdobeLiveStreamEncoder在服务器端流式传输... 查看详情

使用带有 RTMP 的 Flash Media Server (FMS) 进行实时视频聊天

】使用带有RTMP的FlashMediaServer(FMS)进行实时视频聊天【英文标题】:UsingFlashMediaServer(FMS)withRTMPforlivevideochat【发布时间】:2011-03-0121:27:05【问题描述】:我正在尝试获取一个非常基本的实时视频聊天示例以与FlashMediaServer一起使用... 查看详情

视频转换rtsp流转rtmp流播放(未完)

...red5服务器,并测试成功看到画面之后;下面就来利用red5实时查看rtmp视频流;总体思路是这样。  查看详情

iOS录制时如何将PCM缓冲区实时转换为AAC数据?

】iOS录制时如何将PCM缓冲区实时转换为AAC数据?【英文标题】:Howtoreal-timeconvertthePCMbuffertoAACdatawhenrecordingforiOS?【发布时间】:2012-12-0415:03:17【问题描述】:我正在使用Remote.IO从PCM获取音频缓冲区,但原始数据太大而无法通过蜂... 查看详情

流媒体协议rtmp、rtsp与hls有啥不同?

...议是用来描述进程之间信息交换数据时的规则术语。安全实时传输协议(SecureReal-timeTransportProtocol或SRTP)是在实时传输协议(Real-timeTransportProtocol或RTP)基础上所定义的一个协议,旨在为单播和多播应用程序中的实时传输协议的... 查看详情

如何在 ActionScript 中找到实时 RTMP 流何时停止?

】如何在ActionScript中找到实时RTMP流何时停止?【英文标题】:HowtofindwhenliveRTMPstreamstopsinActionScript?【发布时间】:2016-06-1605:32:56【问题描述】:我目前有以下代码,其中streamVideo是一个FLVPlayBack组件:streamVideo.addEventListener(VideoEven... 查看详情

如何在mysql中将奇怪的varchar“时间”转换为实时?

】如何在mysql中将奇怪的varchar“时间”转换为实时?【英文标题】:howtoconvertweirdvarchar"time"torealtimeinmysql?【发布时间】:2009-11-1320:33:05【问题描述】:我有一个时间值作为varchar(4)存储在数据库中,我需要将其转换为实时... 查看详情

如何创建 youtube 视频的实时流?

】如何创建youtube视频的实时流?【英文标题】:HowcanIcreatealivestreamofyoutubevideos?【发布时间】:2012-12-2901:40:45【问题描述】:我正在编写一个youtube视频流,这些视频应该按照设定的时间表播放,类似于电视。如果您进入网站,视... 查看详情

Android:如何通过 RTMP 将 H264 原始数据发布到直播服务器

】Android:如何通过RTMP将H264原始数据发布到直播服务器【英文标题】:Android:HowpublishH264rawdatatolivestreamserverviaRTMP【发布时间】:2017-02-2209:45:14【问题描述】:我想要从Drone到Wowza流引擎服务器的直播视频。我从thiscallback获得了H264... 查看详情