Поток одного (постоянно обновляемого) файла изображения, используя ffmpeg - PullRequest
0 голосов
/ 02 февраля 2020

Я пытаюсь выполнить потоковую передачу файла изображения - идея состоит в том, что файл постоянно обновляется.

с использованием

ffmpeg \
    -re \
    -framerate 10 \
    -loop 1 \
    -f image2 \
    -i "/path/to/file.png" \
    -c:v libx264 \
    -preset superfast \
    -tune zerolatency \
    -pix_fmt yuv420p \
    -s 1000x1000 \
    -r 25 \
    -f flv rtmp://asdf.twitch.tv/app/asdf

поток работает изначально, но после изменения и повторно сохраняя файл, twitch показывает ошибку (There was a network error. Please try again. (Error #2000)), в то время как ffmpeg продолжает работать без ошибок.

затем, когда я повторно сохраняю файл один раз , ffmpeg останавливается, с

[flv @ 0x7faa6201c200] Failed to update header with correct duration. 71.0kbits/s speed=0.659x
[flv @ 0x7faa6201c200] Failed to update header with correct filesize.

есть идеи, что здесь происходит?


edit:

-stream_loop -1, похоже, не помогает, так как Я получаю это сейчас:

enter image description here

1 Ответ

0 голосов
/ 02 февраля 2020

Демультиплексор image2 прерывается при ошибке чтения, которая может произойти, если чтение и запись не являются атомами c. Замените -loop 1 на -stream_loop -1, чтобы использовать общий код цикла c, который продолжит повторную попытку в случае сбоя.

...