My BeeCam - це Raspberry Pi3 / Raspbian Stretch з свіжоскладеною версією ffmpeg N-89882-g4dbae00bac, яка виконує це як послугу:
#!/bin/bash
cd /usr/local/bin/
while true
do
./ffmpeg -re -thread_queue_size 512 -rtsp_transport tcp -i \
"rtsp://anonymous:password@192.168.1.11:554" -i WilliamTellOverture.mp3 \
-vcodec copy -acodec copy -t 00:11:51 -f flv \
"rtmp://a.rtmp.youtube.com/live2/my-youtube-streaming-key"
sleep 10s
done
де 192.168.1.11 - це моє нове Reolink RLC-423S, а -t 00:11:51 - це тривалість MP3 -файлів, що не беруть участь у Royalty-Free. Зазвичай це працює досить добре:
https://www.youtube.com/user/IAmTheWaterbug/live
і це петлі безперервно. Потік YT виблисне, коли він перезапуститься, але потік відновиться із втраченим лише близько 15 секунд відео. Він працював постійно протягом ночі протягом принаймні 8 годин (наприклад, багато петель), перш ніж я почав битися з ним.
Я змінив сон на 5с, і це, здається, не турбує його.
Але іноді я робив зупинку sudo systemctl StreamToYouTube, за якою судо systemctl запускає StreamToYouTube , протягом 1-2 секунд (наприклад, так швидко, як я можу набрати Up Up and Enter ), а іноді, коли я це роблю, потік виходить з ладу, і ffmpeg починає скидати:
[rtsp @ 0x302c2f0] RTP: PT=60: bad cseq e680 expected=0b49
[rtsp @ 0x302c2f0] RTP: PT=60: bad cseq 93ab expected=0b49
[rtsp @ 0x302c2f0] RTP: PT=60: bad cseq 93ac expected=0b49
[rtsp @ 0x302c2f0] RTP: PT=60: bad cseq e682 expected=0b49
нескінченно.
Перезавантаження Pi не виправить це (наприклад, потік YT все ще не працює, і статус sudo systemctl StreamToYouTube повертає той самий потік помилок "поганого cseq"), але перезавантаження камери все це виправить. Мені цікаво, що саме означає ця помилка, і як повідомити про це Reolink.
Під час «невдалого» стануть, що камера працює належним чином від інших клієнтів, наприклад, я можу запустити Reolink.app на своєму Mac або переглянути веб-сторінку камери з будь-якого браузера, і відео виглядає чудово.
Але чомусь потік RTSP стає невдалим таким чином, що ffmpeg не може вирішити.
Це цілком повторюється, якщо я швидко зупиняю / запускаю послугу, але перезапуск із 5-секундною паузою в моєму сценарії, здається, це не турбує.
Дякую!