我正在使用ffmpeg将树莓派视频(CSI相机)推送到nginx-RTMP服务器,然后nginx将其推送到youtube。我的问题是,每次运行ffmpeg命令时,它总是给我输入/输出错误。但是当我第二次运行完全相同的ffmpeg命令时,它就可以正常工作了。如何解决这个问题?我想在脚本文件中启动ffmpeg命令,并将脚本放入crontab中,以便自动开始直播流。但这个错误使这不可能实现。
我的ffmpeg命令如下(将真实域名更改为mydomain.com):
错误日志:
我的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