FFMPEG pára de converter

1

Eu tenho o Ubuntu 12.04 LTS, que executa o Wowza Media Server, então uso o FFmpeg como um transcodificador para transmissão ao vivo e o JWplayer no meu site. Mas o ffmpeg sempre para de converter, e eu tenho que inserir o comando de novo e de novo. Então aqui está o comando:

nohup ffmpeg -i rtsp://log:pass@<cameraip>:554/live1.sdp -ar 44100 -ab 128k -f flv -b 5000k -s 480x270 -y rtmp://<serverip>:1935/live/camera.stream &

E é isso que eu recebo

ffmpeg version 0.8.10-4:0.8.10-0ubuntu0.12.04.1, Copyright (c) 2000-2013 the Libav developers
  built on Feb  6 2014 20:56:59 with gcc 4.6.3
*** THIS PROGRAM IS DEPRECATED ***
This program is only provided for compatibility and will be removed in a future release. Please use avconv instead.
[rtsp @ 0x25317a0] Estimating duration from bitrate, this may be inaccurate

Seems stream 0 codec frame rate differs from container frame rate: 150.00 (150/1) -> 1000.00 (1000/1)
Input #0, rtsp, from 'rtsp://log:pass@<cameraip>:554/live1.sdp':
  Metadata:
    title           : RTSP/RTP stream 1 from DCS-2132L
    comment         : live1.sdp with v2.0
  Duration: N/A, start: 0.000000, bitrate: N/A
    Stream #0.0: Video: h264 (High), yuvj420p, 640x360 [PAR 1:1 DAR 16:9], 75 fps, 1k tbr, 90k tbn, 150 tbc
    Stream #0.1: Audio: pcm_mulaw, 8000 Hz, 1 channels, s16, 64 kb/s
Incompatible pixel format 'yuvj420p' for codec 'mpeg4', auto-selecting format 'yuv420p'
[buffer @ 0x2539f80] w:640 h:360 pixfmt:yuvj420p
[scale @ 0x253a940] w:640 h:360 fmt:yuvj420p -> w:480 h:270 fmt:yuv420p flags:0x4
Incompatible sample format 's16' for codec 'ac3', auto-selecting format 'flt'
[ac3 @ 0x2531120] channel_layout not specified
[ac3 @ 0x2531120] No channel layout specified. The encoder will guess the layout, but it might be incorrect.
[ac3 @ 0x2531120] invalid bit rate
Output #0, avi, to 'rtmp://<serverip>:1935/live/camera.stream':
    Stream #0.0: Video: mpeg4, yuv420p, 480x270 [PAR 1:1 DAR 16:9], q=2-31, 1024 kb/s, 90k tbn, 1k tbc
    Stream #0.1: Audio: ac3, 22050 Hz, mono, flt, 1024 kb/s
Stream mapping:
  Stream #0.0 -> #0.0
  Stream #0.1 -> #0.1
Error while opening encoder for output stream #0.1 - maybe incorrect parameters such as bit_rate, rate, width or height
    
por alexander 19.02.2014 / 16:07

1 resposta

1

Sua conversão tenta usar o codificador ac3 para áudio e falha ao definir a taxa de bits. Tenho certeza de que o áudio AC3 não é o que você deseja para streaming de vídeo, e você também pode usar um H .264 codificador como libx264 em vez de simples vídeo MPEG-4 Parte II ( mpeg-4 ).

Com o vídeo H.264, você não precisa nem de ~ 5 MBit / s de taxa de bits - você pode obter a mesma qualidade visual com taxas de bits menores. Dependendo da entrada você pode tentar ~ 2 MBit / s ou até menos. 480 × 270 é uma resolução bastante baixa e eu acho que até mesmo 500 kBit / s seria aceitável.

Além disso, você está usando um programa desatualizado e com bugs chamado ffmpeg que não é realmente do FFmpeg , mas uma bifurcação do projeto. Por favor, faça o download de uma versão estática recente para continuar desenvolvendo com. Você também pode compilar você mesmo; não demora tanto assim.

Além disso, -y é uma opção global e precisa vir antes da opção de entrada.

Seu comando pode ter a seguinte aparência:

ffmpeg -y -i <input> \
-f flv \
-c:v libx264 -b:v 2000k \
-c:a aac -strict experimental -b:a 128k -ar 44100 \
-s 480x270 rtmp://<serverip>:1935/live/camera.stream
    
por 19.02.2014 / 16:22