ffmpeg - streaming de áudio com vorbis codec sobre RTP

0

Estou tentando configurar o fluxo de áudio usando o protocolo RTP e Vorbis codec. Começando com um exemplo mínimo - gerou amostras mono com remetente e receptor na mesma máquina (duas instâncias de ffmpeg , versão N-91266-g8c20ea8ee0):

Executando o remetente primeiro, salvando o SDP no arquivo:

ffmpeg -re -f lavfi -i aevalsrc="sin(400*2*PI*t)" -acodec libvorbis -f rtp rtp://127.0.0.1:1234 -sdp_file "g:\sinwave.sdp"

Em seguida, receptor:

ffmpeg -protocol_whitelist "file,udp,rtp" -i "g:\sinwave.sdp" -v debug "g:.ogg"

Os dados recebidos salvos no arquivo apenas por exemplo, na verdade, é planejado para escrevê-lo para pipe ou socket)

Mas estou recebendo ffmpeg erros no lado do destinatário:

[sdp @ 0000000000573580] Bad packed header lengths (30,0,2923,3219)
[vorbis @ 0000000000587940] Extradata missing.
Error while opening decoder for input stream #0:0 : Invalid data found when processing input

Quais opções eu perdi por ffmpeg em algum dos lados?

    
por apdevelop 04.08.2018 / 13:46

1 resposta

0

Parece que criar o arquivo SDP usando o parâmetro -sdp_file não está funcionando corretamente, aqui está a linha de comando de trabalho do remetente, onde o arquivo SDP foi criado com o redirecionamento da saída do processo ( > character):

ffmpeg -re -f lavfi -i aevalsrc="sin(400*2*PI*t)" -acodec libvorbis
-f rtp rtp://127.0.0.1:1234 > "g:\sinwave.sdp"

O arquivo SDP resultante tem tamanho de 4503 bytes (em vez de 4095 bytes) com maior configuration= line; finalmente, ffmpeg e ffplayer podem receber fluxo usando esse arquivo SDP.

    
por 08.08.2018 / 14:48