Я использую 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