我需要将使用 ffmpeg 不断更新的音频文件的内容流式传输到同一 LAN 上的另一台计算机。我已经下载了适用于 Windows 的 ffmpeg 静态版本。我了解在“ffmpeg”命令中指定目标 IP 地址和端口号的方法。但我无法弄清楚如何指定要流式传输的文件名。怎么办?
音频文件的格式没有条件。它可以是任何格式。
我需要将使用 ffmpeg 不断更新的音频文件的内容流式传输到同一 LAN 上的另一台计算机。我已经下载了适用于 Windows 的 ffmpeg 静态版本。我了解在“ffmpeg”命令中指定目标 IP 地址和端口号的方法。但我无法弄清楚如何指定要流式传输的文件名。怎么办?
音频文件的格式没有条件。它可以是任何格式。
WAV 文件不是缓冲编码数据以进行进一步流式传输的最佳工具。
我更喜欢使用ffserver。这个想法是ffmpeg对流进行编码并将其上传到ffserver的“提要文件”中,客户端(例如您的“远程计算机”)通过http或rtsp(rtp)从ffserver获取流(可能是不同格式的相同流) )。
只需在此处添加音频流,将 ffmpeg 连接到其源并将远程计算机连接到流:
在 ffserver.conf 中定义单个流:
<Stream audio.sdp>
Feed feed1.ffm
Format rtp
NoVideo
AudioCodec libmp3lame
AudioBitRate 64
AudioSampleRate 22050
</Stream>
或 AVI(MPEGTS、FLV 等)
<Stream audio.avi>
Feed feed1.ffm
Format avi
...
开始音频编码/上传到服务器:
ffmpeg -i [Your source] http://localhost:[ffserver's port]/feed1.ffm
开始在“远程计算机”上获取 rtp(avi 等)流。