Dlaczego brakuje mi pamięci podczas przesyłania strumieniowego wideo z kamery internetowej do YouTube na Raspberry Pi?

0

Próbuję przesyłać strumieniowo wideo do transmisji na żywo z YouTube, którą w razie potrzeby chcę przesyłać strumieniowo przez całą dobę. Mam Raspberry Pi Model 3 Model B z kamerą USB (Logitech G922).

Używam tego polecenia do przesyłania strumieniowego:

avconv -ar 44100 -ac 2 -f s16le -i /dev/zero -f video4linux2 -video_size qvga -r 10 -i /dev/video0 -strict experimental -b 350k -f h264 -f flv rtmp://a.rtmp.youtube.com/live2/<my_secret_key>

Kiedy zaczynam avconvpamięć strumieniowania , użycie powoli rośnie do 100%, a proces zostaje zabity. Jedyne rozwiązanie wspomagające zespół, jakie mam, to zwiększenie rozmiaru pliku wymiany dphys. Im większy CONF_SWAPSIZE, tym dłużej mogę przesyłać strumieniowo, zanim zabraknie pamięci.

Dlaczego brakuje mi pamięci?

Co mogę z tym zrobić?

CamelBlues
źródło
1
avconvnie jest ffmpeg, może spróbuj tego drugiego i sprawdź, czy to działa lepiej?
slhck 17.07.17
Tak, mogę tego spróbować (ale naprawdę chcę uniknąć kompilacji ffmpeg na moim PI). Szukam więcej technicznych odpowiedzi na moje pytania. Nie wiem dużo o streamingu. Czy PI może przechowywać obrazy, które zostały już przesłane strumieniowo do pamięci?
CamelBlues
Odpowiedź na „dlaczego brakuje mi pamięci” jest najprawdopodobniej taka, że ​​używana wersja avconv ma przeciek pamięci, nie jestem pewien, czy jakieś inne wyjaśnienie jest bardziej prawdopodobne.
slhck 18.07.17