gpt4 book ai didi

ffmpeg - 使用 FFMPEG 将 Socket 上的 RTP 音频数据重新采样为 PCM 数据

转载 作者:行者123 更新时间:2023-12-04 23:23:21 25 4
gpt4 key购买 nike

我想接收一个 RTP 流并通过 TCP/UDP 套接字发送接收到的原始数据。为此,我正在尝试以下命令。

  • 我正在使用以下命令发送 RTP 流。

    ffmpeg -re -i hello.wav -ar 8000 -f mulaw -f rtp rtp://127.0.0.1:1234
  • 接收方通过 TCP/UDP 套接字重新传输流。

    ffmpeg -i rtp://127.0.0.1:1234 -f mulaw tcp://127.0.0.1:5555 -hide_banner
  • 一个 Player 播放这个 Socket 流来验证。

    ffplay tcp://127.0.0.1:5555?listen

  • 我的第二个命令显示它接收数据并通过 5555 端口将数据传输到 tcp。
    Input #0, rtp, from 'rtp://127.0.0.1:1234':
    Duration: N/A, start: 0.000000, bitrate: 64 kb/s
    Stream #0:0: Audio: pcm_mulaw, 8000 Hz, mono, s16, 64 kb/s
    Stream mapping:
    Stream #0:0 -> #0:0 (pcm_mulaw (native) -> pcm_mulaw (native))
    Press [q] to stop, [?] for help
    Output #0, mulaw, to 'tcp://127.0.0.1:5555':
    Metadata:
    encoder : Lavf58.29.100
    Stream #0:0: Audio: pcm_mulaw, 8000 Hz, mono, s16, 64 kb/s
    Metadata:
    encoder : Lavc58.54.100 pcm_mulaw

    但是第三个命令没有收到任何内容,即使我尝试在命令三中使用 FFMPEG 将响应转储到文件中,但结果相同。

    我在做什么错,请使用 FFMPEG 建议正确的命令。

    最佳答案

    以下三个命令对我有用。

    ffmpeg -re -i music.wav -ar 8000 -f mulaw -f rtp rtp://127.0.0.1:1236
    ffmpeg -i rtp://127.0.0.1:1236 -f wav tcp://127.0.0.1:1256
    ffplay tcp://127.0.0.1:1256?listen -ar 8000

    我能够将文件作为 RTP 发送,将其转换为原始 wav 并通过套接字发送,然后从该套接字播放。

    关于ffmpeg - 使用 FFMPEG 将 Socket 上的 RTP 音频数据重新采样为 PCM 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60045629/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com