2017-05-23 20 views
0

Ich versuche Live-Stream von ffmpeg mit statischen Bild und Audiodatei. Der ffmpeg Befehl wie folgtffmpeg Livestream von statischem Bild und Audio

ffmpeg -RE -loop 1 -f image2 -i '/tmp/11.jpg' -f lavfi -I amovie =/tmp/5117.mp3: loop = 999 -video_size 600x480 -c: v libx264 -x264-params keyint = 60 -bufsize 500k -c: ein aac -ar 44100 -b: ein 128k -r 30 -g 60 -pix_fmt yuv420p -f flv "rtmp: //"

/tmp/11.jpg wurde von einem anderen Prozess generiert und zweimal pro Sekunde aktualisiert. Der ffmpeg Befehl sieht nicht richtig, zuerst, es Status zeigen, wie diese

Rahmen = 85 fps = 9,4 q = 29,0 size = 2261kB Zeit = 00: 02: 24.19 Bitrate = 128.4kbits/s Geschwindigkeit = 16x

Wie Sie sehen, 16x ist nicht gut, 1x der richtige Wert für Live-Stream ist. Dann, nach einer Weile, zeigt es viele Warnung Protokoll wie folgt

[flv @ 0x322bd60] Nicht monotone DTS im Ausgangsstrom 0: 1; vorherige: 335993, aktuell: 297752; zu 335993 wechseln. Dies kann zu falschen Zeitstempeln in der Ausgabedatei führen.

Bitte helfen Sie es zu beheben.

Antwort

0

Die Filmfilter setzen Zeitstempel nicht zurück, was für die DTS-Warnungen des FLV-Muxers verantwortlich ist. Sie können die Verarbeitung des Ausgabevideos mithilfe des Echtzeitfilters verlangsamen.

ffmpeg -loop 1 -f image2 -i '/tmp/11.jpg' 
    -f lavfi -i amovie=/tmp/5117.mp3:loop=999,asetpts=N/SR/TB 
    -vf realtime,scale=600:480,format=yuv420p 
    -r 30 -g 60 -c:v libx264 -x264-params keyint=60 -bufsize 500k 
    -c:a aac -ar 44100 -b:a 128k -f flv "rtmp://" 
+0

Es ist so komisch. Bitte überprüfen Sie die ffmpeg-Ausgabe hier: http://i.imgur.com/ox1lgWQ.png Zuerst zeigen Sie Geschwindigkeit = xx < 1x -> Video kann spielen. Dann erhöht sich die Geschwindigkeit auf 18.5x wie im Bild. Und die rote Linie, ich denke es liegt daran, dass ich das Bild alle 0,5 Sekunden aktualisiert habe. Kannst du das Reparieren – boygiandi

Verwandte Themen