Como posso fazer o ffserver funcionar?

6

Eu tenho um arquivo mp4 que eu quero compactar, redimensionar e transmitir via RTSP.

Meu arquivo ffserver.conf tem esta aparência:

%pr_e%

< Feed feed1.ffm >  Arquivo /tmp/feed1.ffm  FileMaxSize 500M < / Feed >

< Fluxo ao vivo.mpeg >  Formato rtp  Arquivo "/tmp/rtp.mp4"  Feed feed1.ffm  VideoCodec mpeg2video  VideoFrameRate 15  VideoBitRate 200  VideoSize 400x320  #AudioCodec mp2  #AudioBitRate 32  #AudioChannels 2  #AudioSampleRate 22050  Sem áudio  #Preroll 10  ACL permitir 127.0.0.1 < / Stream >

< Stream stat.html >  Status do formato  # Só permite que as pessoas locais obtenham o status  ACL permite localhost  ACL permitir 192.168.0.0 192.168.255.255 < / Stream >

Pelo que entendi, não preciso alimentar um fluxo de vídeo usando o ffmpeg, pois estou usando o atributo File, então o ffserver faz o trabalho para mim?

Quando tento usar o totem para reproduzir o vídeo (ffplay apenas time-out), recebo o seguinte erro:

%pr_e%

O log do ffserver é assim:

%pr_e%

O que estou fazendo de errado?

    
por tommed 11.10.2010 / 14:16

1 resposta

2

Você pode obter redimensionamento, recodificação para MPEG2 e streaming RTSP com gstreamer, mas não consegui alterar a taxa de quadros. Se isso for suficiente, veja como:

  • Instale o pacote de desenvolvimento do servidor gst RTSP: sudo apt-get install libgstrtspserver-0.10-dev
  • Obtenha uma cópia do este iniciador de exemplo
  • Compile com gcc -o test-launch $(pkg-config --cflags --libs gstreamer-0.10 gst-rtsp-server-0.10) test-launch.c
  • Iniciar streaming: ./test-launch "( filesrc location=/tmp/rtp.mp4 ! decodebin ! videoscale ! video/x-raw-yuv,width=400,height=320 ! ffenc_mpeg2video ! mpegtsmux ! rtpmp2tpay name=pay0 pt=96 )"
  • Assista ao vídeo: gst-launch-0.10 rtspsrc location=rtsp://127.0.0.1:8554/test ! decodebin ! xvimagesink

Algumas ressalvas:

  • para alterar a porta, você precisa adicionar uma chamada a gst_rtsp_server_set_port(server, 9091); no test-launch.c, entre as linhas 44 e 45
  • totem lê o fluxo, mas não exibe nada, nem mesmo mensagens de erro
  • O mplayer não suporta o tipo de fluxo
por taneli 11.08.2011 / 14:33