Streaming dünyasına farklı bir açıdan yaklaşım! Raspberry Pi & Video Streaming.

 

Raspberry Pi, ülkemizde rahatça temin edilebilen bir mini bilgisayardır. Bu mini bilgisayarda farklı işletim sistemleri veya dağıtımlar kullanılabilmektedir. Ayrıca üzerindeki çok amaçlı portlar ile ekstra donanımların bağlantıları ve CSI portu ile kamera gibi donanımların bağlantıları da yapılabilmektedir.

raspberry pi camera module

Renkli kamera modülü 5 MegaPixel çözünürlüğe sahip görüntüler almaya ve HD formatında video kaydı yapmaya olanak vermektedir. Bu işlemler için öncelikle kameranın fiziksel olarak bağlantısının yapılması gerekir. Kamera bağlantısı yapıldıktan sonra kullanılan dağıtıma göre, kamera bağlantısının işletim sistemine belirtilmesi gerekmektedir. Raspbian işletim sistemi dağıtımları için bu işlem raspi-config komutu ile yapılmaktadır.

Video akışı yapabilmek için gerekli yazılımlar Raspberry Pi sistemine kurulmalıdır. Raspbian işletim sistemi, paket yönetimi için apt paket yönetim sistemini kullanmaktadır. Apt paket yönetim sistemi ile öncelikle mevcut paket listesini güncellemek gerekir. Aksi takdirde kurulacak yazılımların eski sürümleri veya paket uyumsuzluğu sorunları ile karşılaşılabilir.

raspivid-3

Apt paket yöneticisinde paket listesini güncelleme işlemi için apt-get update komutu verilmelidir. Normal kullanıcı olarak sisteme giriş yaptığımızda paket listesi güncelleme işlemi için root yetkilerine sahip olmamız gerektiğinde sudo komutunu kullanmaktayız. Dolayısı ile sudo apt-get update komutu işimizi görecektir.

raspberry pi camera module 2

Paket listesi güncellendikten sonra sistemde güncel olmayan paketleri güncellemek birçok durumda tercih edilmektedir. Bu işlem için de sudo apt-get upgrade komutu kullanılmaktadır. Bu aşamadan sonra yazılım kurmak için apt-get install paket adı komutu kullanılabilir.

Kullanılacak temel paketler vlc yazılımına ait olduğundan apt-get install vlc komutu ile vlc yazılımı kurulur. Akış için kullanılan yazılım bu aşamadan sonra cvlc yazılımıdır.

vlc player

Akış işleminin başlatılması için çalıştırılan komut:

raspivid -o – -t 0 -n | cvlc -vvv stream:///dev/stdin –sout ‘#rtp{sdp=rtsp://:9876/}’ :demux=h264

biçimindedir.

raspivid” yazılımı ile elde edilen hareketli görüntünün clvc ile aktarılması için borulama(piping) mekanizması kullanılmaktadır. “raspivid” yazılımına verilen -o – parametresi çıkışın standart çıkışa yazılmasını, -t 0 parametresi bir zaman limitinin olmadığını, -n parametresi de elde edilen hareketli görüntünün gösterilmemesi gerektiğini belirtmektedir.

raspberry pi 3

İkinci bölümde cvlc yazılımı çalıştırılmaktadır. Çalıştırılan yazılım, vlc yazılımının konsol uygulamasıdır. -vvv parametresi verbose mod olup, kullanıcıya gerekli olabilecek detaylı bilgiyi sağlamaktadır. stream:///dev/stdin parametresi girdi ile ilgili akışın /dev/stdin dosyasından(standart giriş) okunacağını belirtmektedir. –sout ‘#rtp{sdp=rtsp://:9876//}’ parametresi çıkışın akış olacağını, rtsp protokolüne uygun olacağını, ve port 9876 üzerinden verileceğini belirtmektedir. Son olarak :demux=h264 parametresi de h264 sıkıştırmasının kullanılacağını belirtmektedir.

raspberry-pi-video-streaming

Bu aşamadan sonra Raspberry Pi ile ilgili işlem bitmektedir. Ağ üzerinden, Raspberry Pi tarafından alınan görüntüyü izlemek için rtsp protokolünü destekleyen ve h264 codec çözebilen bir yazılım kullanmak gerekmektedir. VLC medya oynatıcısı yazılımı bu iki koşulu da sağlamaktadır. VLC medya oynatıcısında ağ akışı aç(Ctrl+N) seçeneği kullanılarak ağ URL si olarak rtsp://raspberrypiIPadresi:9876/ yazıldığında akış başlamakta ve Raspberry Pi elde ettiği görüntüyü aktarmaktadır.

Raspberry Pi ürünlerini buradankamera modülünü ise buradan inceleyebilirsiniz