ffmpeg всегда выдает ошибку ввода / вывода при первом запуске команды - PullRequest
1 голос
/ 08 апреля 2020

Я использую ffmpeg для передачи sh видеопотоков raspberrypi (камера CSI) на сервер nginx -RTMP, а затем nginx pu sh на YouTube. Моя проблема в том, что каждый раз, когда я запускаю команду ffmpeg, она всегда выдает ошибку ввода / вывода. Тогда он работает нормально, когда я запускаю ту же самую команду ffmpeg во второй раз. Как мне решить эту проблему? Я хочу запустить команду ffmpeg в файле сценария и поместить сценарий в crontab, чтобы он мог автоматически запускать потоковую трансляцию. Но эта ошибка делает невозможным это сделать.

Моя команда ffmpeg выглядит следующим образом (измените реальное имя домена на mydomain.com):

ffmpeg -thread_queue_size 512 -f v4l2  -f lavfi -i anullsrc=channel_layout=stereo:sample_rate=44100  -input_format yuyv422 -video_size 1280x720 -framerate 30 -i /dev/video0 -vf eq=gamma=1.5:saturation=1.3 -c:v h264_omx -b:v 20480K -vsync 1 -g 16  -f flv rtmp://mydomain.com:1935/live/

журнал ошибок:

Input #1, video4linux2,v4l2, from '/dev/video0':
  Duration: N/A, start: 474200.421802, bitrate: 442368 kb/s
    Stream #1:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 1280x720, 442368 kb/s, 30 fps, 30 tbr, 1000k tbn, 1000k tbc
rtmp://rtmp.simonliu.space:1935/live/: Input/output error
...