I have ip cam, raspberry pi with ffmpeg on board and I am trying to do 24/7 youtube livestream. I have set up a service that start ffmpeg on boot. It receives rtsp stream from camera and sends it to youtube. Here is the ffmpeg setup:
ffmpeg -thread_queue_size 512 -rtsp_transport tcp -i rtsp://cam_address -c:v copy -af "aresample=async=1:first_pts=0" -c:a aac -ac 2 -ar 44100 -fflags +genpts -f flv rtmp://youtube_address -nostdin -nostats
I have noticed that ffmpeg may accidentally stop working from time to time (rather rarely but still) so the service should restart if ffmpeg crashes. Additionally just in case I have set up a cron job that restarts the service every hour, so if it stops working for some reason and that magic that should bring it up fails it should still get up within an hour.
What bothers me, sometimes it stops working but in an unusual way. The service on raspberry pi is running, ffmpeg is running as well, nethogs shows that ffmpeg is both receiving and sending proper amount of data. Stream status on youtube is all right as if everything was just fine but there is no video there (it looks as if it was still loading/buffering but it is not). Restarting the service does not make it work. However if I stop the service, wait a few seconds and start it again the youtube stream starts working as it is supposed to.
Why such things happen and how can I fix it?