c++ - 来自使用 ffmpeg 的文件的音频流

标签 c++ ffmpeg audio-streaming

我需要将使用 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 等)流。

关于c++ - 来自使用 ffmpeg 的文件的音频流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18957399/

相关文章:

ffmpeg - 如何连接视频直到达到一定的视频长度 FFMPEG

audio - 通过 FFMPEG 从 mp4 中提取 mp3 不应用音频比特率

python - 用于语音识别的流输入

c++ - 二叉搜索树删除节点

C++竞技编程: Simplifying expressions under modulo N

c++ - 关于使用哪种设计模式的问题

android - 为 android NDK 创建独立工具链

ios native webrtc : How to record remote audio stream as wav file on client side.

web-services - 音频流服务器

c++ - 如何正确重载 << 运算符以返回 int 值?