ffmpeg streaming RTMP simples

2

Estou tentando iniciar um servidor transcodificador rtmp usando o ffmpeg; que recebe fluxos MPEG-TS do udp como entrada, transcodifica-os; e gera uma saída rtmp para uma URL, que pode ser acessada pelos usuários para receber e reproduzir o fluxo rtmp. Espera-se que todos estes sejam executados em uma LAN e que a saída seja acessada por todos os usuários.

1) Primeiro, não sei para onde o URL deve apontar. É necessário especificar o IP do sistema e alguma porta opcional? É necessário que um programa esteja escutando nessa porta?

2) Como posso reproduzir o fluxo na URL?

Eu uso uma máquina Ubuntu Linux com IP = 10.1.1.229 e eu quero transcodificar stream multicast nesta URL: udp://@224.10.1.1:2001 .

aqui é o comando usado para transcodificar o fluxo de entrada e gerar o URL rtmp "rtmp: //10.1.1.229: 2020".

ffmpeg -y -f mpegts -i "udp://@224.10.1.1:2001" -re -vcodec libx264 -maxrate 700k -r 25 -s 640x360 -deinterlace -acodec libfaac -ab 64k -ac 1 -ar 44100 -f flv "rtmp://10.1.1.229:2020"

e aqui está o comando pelo qual estou tentando reproduzir o fluxo do rtmp:

ffplay rtmp://10.1.1.229:2020

Qualquer orientação seria útil. Obrigado.

    
por sajad 30.03.2013 / 11:47

1 resposta

1

O ffmpeg (ainda) não tem a funcionalidade do servidor RTMP. O que ele faz quando sai para o URL rtmp é que ele gera o fluxo, que é um feed de entrada para servidores RTMP (como o Wowza ou similar). Em poucas palavras, o ffmpeg alimenta o servidor RTMP real com a entrada que está sendo transmitida por esse servidor RTMP.

    
por 26.01.2014 / 12:45