Raspberry Pi'yi IP kamera yapmak
Bugün uğraşmayı çok sevdiğim Raspberry Pi ile yaptığım bir başka proje daha; RaspiCam. Raspberry Pi kullanarak hobi amaçlı ya da gizli güvenlik kamerası yapabilirsiniz. Bunun için bize Raspberry Pi ve kamera modülü gerekiyor. İlk önce yayın sunucumuzu ayarlayalım. Bu sunucu Raspberry Pi’nizin kendisi de olabilir, uzak bir sunucu da. Yayına yerel ağ dışından erişecekseniz, bağlantı problemleri yaşamamak için uzak bir sunucu kullanmanızı öneririm. Aksi taktirde Raspberry Pi’niz yeterli olacaktır. Yayınları RTMP protokolü kullanarak yapacağız. RTMP protokolü, hem yayın alma hem yayın gönderme özelliğine sahip bir yayın protokolüdür. Kurulumu çok daha kolaydır ve düşük gecikmeye sahiptir.
Sunucumuza nginx ve nginx rtmp modülünü kurarak başlıyoruz. Tabi ilk olarak eksik kütüphaneleri kuralım.
sudo apt-get install build-essential libpcre3 libpcre3-dev libssl-dev zlibc zlib1g zlib1g-dev
nginx ve rtmp modülünü indiriyoruz:
wget http://nginx.org/download/nginx-1.15.1.tar.gz
wget https://github.com/sergey-dryabzhinsky/nginx-rtmp-module/archive/dev.zip
tar -zxvf nginx-1.15.1.tar.gz
unzip dev.zip
cd nginx-1.15.1
nginx’i rtmp modülünü aktif ederek derletiyoruz:
./configure --with-http_ssl_module --add-module=../nginx-rtmp-module-dev
make
sudo make install
Kurulum tammalandı. Şimdi /usr/local/nginx/conf/nginx.conf
dosyasını açıp http
bloğunun dışına aşağıdaki rtmp
bloğunu ekleyin.
rtmp {
server {
listen 1935;
chunk_size 4096;
application live {
live on;
record off;
}
}
}
Kaydedip nginx’i başlatın.
sudo /usr/local/nginx/sbin/nginx
Şimdi herhangi bir yayın programı kullanarak (örn OBS Studio) RTMP sunucunuzu test edin.
Streaming Server: rtmp://sunucu-ipsi/live
Streaming Key: deneme
Test yayınınızı VLC ile rtmp://sunucu-ipsi/live/deneme
adresiyle açıp izleyebiliyorsanız kurulumu başarıyla yaptınız demektir.
Eğer RTMP sunucusunu uzak sunucuya kurduysanız burayı kapatabilirsiniz. Şimdi Raspberry Pi’mize dönüp kamera ayarlarını yapalım. Önce kamera modülümüzü takalım ve ardından sudo raspi-config
komutuyla Raspberry Pi ayarlarını açalım. Beşinci sırada bulunan “Interfacing Options”‘u açalım.
Buradan da ilk sırada bulunan “P1 Camera”‘yı seçtikten sonra onaylansın mı? sorusuna <Yes> deyin. Ardından <Finish> ile değişikliklerin aktif olması için Raspberry Pi’nizin yeniden başlamasına izin verin.
Sunucuya tekrar bağlandıktan sonra bize yayın yapmamız için gerekli olacak “ffmpeg” programını kuralım.
sudo apt-get update
sudo apt-get install ffmpeg
Kurulum bittiyse her şeyin doğru çalışması gerekiyor. raspivid
ve ffmpeg
kullanarak yayınımızı başlatalım. raspivid
isimli program Raspbian’da kurulu geldiği için bunu kurmamız gerekmiyor.
raspivid -n -t 0 -w 1920 -h 1080 -fps 25 -o - | ffmpeg -re -i - -vcodec copy -an -f flv rtmp://sunucu-ipsi/live/deneme
Yukarıdaki komutla 1920x1080 boyutunda ve 25 FPS’lik bir yayını, ffmpeg ile RTMP sunucumuza gönderiyoruz. Yukarıdaki parametreleri kendinize göre düzenleyebilirsiniz. Boyutunu 800x480 olarak ayarlarsanız düşük hızlı bağlantılarda bile iyi sonuçlar alabilirsiniz.
Şimdi VLC programını ve rtmp://sunucu-ipsi/live/deneme
adresini tekrar açıp yayınımızı kontrol edebiliriz. Kendinize el sallayın.
Son olarak yayın komutunu arkaplanda ve Raspberry Pi’nin yeniden başlamasından sonra da çalışabilecek şekilde ayarlamamız gerekiyor. Yukarıdaki komutları bir bash scripti içine kopyalayın (örn raspicam.sh
). Sonra bu yazıda anlatıldığı şekilde düzenlemesini yapıp servisi aktif hale getirin.
Servis için örnek bir başlatma komutu: /bin/bash /script/yolu/raspicam.sh