Stap 6: Software: RAM schijf afspelen en afstellen van timing
Ik heb gemaakt om te voorkomen dat voortdurend lezen van de SD-kaart, een ram-schijf zodat mijn script zou kunnen Kopieer het filmbestand naar het en toestaan van omxplayer om af te spelen vanaf daar.
Ik heb de map voor de ram-schijf laadpunt:
sudo mkdir /var/ramdisk
en het volgende toegevoegd aan het/etc/fstab bestand:
ramdisk /var/ramdisk tmpfs nodev,nosuid,size=500M 0 0
De Raspberry Pi 2 wordt geleverd met 1 GB ram, dus gebruikte ik de helft van het voor de schijf, die nog volop voor de OS uit te voeren.
Fundamenteel, pyomxplayer en de aanpak van de pexpect wordt gebruikt is een ingenieuze maar enigszins hacky manier om te bepalen hoe het verloopt en het kostte me een lange tijd om alles goed te laten werken. Ik vond dat als mijn script opdrachten naar omxplayer te snel verzonden, omxplayer de opdracht zou missen. Ik moest een bos van de verklaringen van de slaap in mijn code om te pauzeren en voldoende tijd gunnen om opdrachten te krijgen goed "gehoord" door het omxplayer proces. Ik voegde ook een lange pauze direct na de film eerste is in omxplayer om ervoor te zorgen dat alle resterende geladen en proc intensieve bootproces heeft een kans om te beëindigen en niet interfereert met het reactievermogen van elke machine. Het is verre van een robuuste setup; Het is eigenlijk een script dat drie machines vertelt op de "play" knop op hetzelfde moment. Uiteindelijk, hoewel, ik leek te kunnen krijgen van de films te synchroniseren goed genoeg over alle drie machines. Niet gegarandeerd frame perfect elke keer maar waarschijnlijk binnen één of twee frames op een betrouwbare basis.