Saya baru mengenal Raspberry Pi dan bahkan baru di kamera Raspberry Pi. Saya telah melihat banyak tutorial online untuk kamera Raspberry Pi tetapi belum menemukan yang memungkinkan saya melakukan streaming langsung dari kamera Raspberry Pi seperti yang Anda bisa dengan webcam (menggunakan SimpleCV atau OpenCV). Berharap seseorang bisa mengarahkan saya ke arah yang benar.
93
ssh raspberrypi raspivid -o - -t 0 -fps 25 -w 640 -h 360 | mpv - --speed 2 --fps 25
("--speed 2" mencegahnya terlalu banyak).Jawaban:
Solusi yang disarankan oleh Diego bagus kecuali bahwa itu cukup lambat dan memiliki penundaan video yang sangat besar karena vlc di sana mengalirkan kembali aliran yang terurai. Sejak 12/2013 ada driver v4l2 resmi yang tersedia: http://www.ics.com/blog/raspberry-pi-camera-module#.VJFhbyvF-b8 Ini membuat streaming ulang yang disebutkan tadi menjadi usang. Cukup muat modul dan gunakan:
Ini menciptakan aliran http di port 12345, Anda juga dapat menggunakan format lain, seperti rtcp dari jawaban Diego. Baca lebih lanjut di sini: https://web.archive.org/web/20151012014829/http://www.videolan.org:80/doc/streaming-howto/en/ch03.html
sumber
:demux=264
ke cvlc karena sungai adalah h264 RAW dan Anda perlu mengatur demuxer yang:cvlc v4l2:///dev/video0 --v4l2-width 1920 --v4l2-height 1080 --v4l2-chroma h264 --sout '#standard{access=http,mux=ts,dst=0.0.0.0:12345}' :demux=264
. Itu memungkinkan untuk menonton streaming di VLC untuk Android, misalnya.autoreconf -vfi
Anda sekarang harus menggunakan./bootstrap.sh
Ada beberapa opsi yang dapat Anda pilih. Di tempat kerja saya, kami menggunakan VLC untuk melakukan streaming video yang ditangkap oleh Raspberry Pi Camera dari ruang server kami ke kantor. Satu kelemahan dari ini adalah ada sekitar 5 detik keterlambatan dan saya belum menemukan solusi untuk ini. Berikut ini adalah pengaturan kami:
Instal raspbian dan perbarui serta pastikan kamera Anda diaktifkan (Anda mengaktifkan ini dengan menjalankan sudo raspi-config dan memilih Aktifkan Kamera)
Instal vlc
Buat skrip untuk memulai streaming dengan konten berikut, atau jalankan perintah (Anda tidak dapat melakukan hal lain jika Anda hanya menjalankan perintah).
Jadikan skrip dapat dijalankan
Jika Anda ingin memulai streaming secara otomatis, Anda harus menambahkan skrip ke crontab. Untuk membuat ini berfungsi, saya harus membuat skrip lain dijalankan oleh cron (OBS! VLC tidak dapat dijalankan sebagai sudo jadi pastikan Anda berada di cron yang tepat).
sudo nano myscript2.sh
:Kemudian:
Untuk menonton videostream, buka VLC di komputer di jaringan yang sama dengan pi raspberry yang Anda gunakan untuk streaming. Tekan Media -> Buka Networkstream dan rekatkan yang berikut di bidang:
Jika Anda tidak peduli dengan FPS (bingkai per detik) dan tidak ingin ada penundaan, Anda bisa menggunakan MJPEG. Anda dapat membaca lebih lanjut tentang ini DI SINI
Tonton wiki INI tentang Modul Kamera Raspberry Pi. Semoga Anda menemukan apa yang Anda cari.
sumber
Saya mencoba beberapa opsi. Namun, saya menemukan hasil terbaik menggunakan proyek itu: RPi-Cam-Web-Interface dari komunitas eLinux
alirannya memiliki penundaan hampir nol.
semoga berhasil :)
sumber
Cara termudah yang saya temukan, untuk mendapatkan video langsung dari pi raspberry tanpa kepala, dengan kamera raspberry pi.
Solusi ini berfungsi langsung, tanpa menginstal perangkat lunak tambahan pada PI.
Tentang PI:
Di Komputer, seseorang dapat streaming dengan VLC:
(dengan asumsi 192.168.66.154 adalah alamat IP PI)
sumber
Saya memposting solusi yang mungkin di forum raspberry menggunakan server RTSP ringan berdasarkan live555 yang diumpankan dengan driver V4L2 yang mendukung penangkapan H264:
Selanjutnya Anda harus dapat mengakses aliran RTSP menggunakan:
sumber
--network-caching 300
UV4L (juga) mendukung video HTML5 standar dan streaming audio tanpa konfigurasi yang diperlukan. Opsi lain juga dimungkinkan, seperti MJPEG melalui http.
Memperbarui:
UV4L sekarang juga mendukung penyiaran audio & video langsung ke Jitsi Meet Rooms melalui Web. Tidak diperlukan konfigurasi khusus. Semudah mengisi nama, ruang, dan mengklik Mulai .
Pembaruan ke-2:
UV4L sekarang mendukung video yang dikodekan perangkat keras H264 juga, pada full fps, HD dan mungkin Full HD di masa depan.
sumber
Keduanya
mjpeg_streamer
danmotion
tampaknya memiliki latensi yang lebih baik daripada cvlc.Menggunakan
mjpg_streamer
mjpeg_streamer
membutuhkan kompilasi tetapi instruksi pada github sangat mudah.Setelah kompilasi, ia dapat dijalankan dengan meluncurkan
start.sh
dari dir proyek, atau dengan menjalankan langsung (dalam dir proyek):dimana
8090
port TCP. Jika tidak ditentukan, maka port8080
akan digunakan secara default. Thestart.sh
Script berisi beberapa contoh penggunaan dengan opsi tambahan.Menggunakan
motion
Motion termasuk layanan systemd yang membuatnya mudah untuk memulai kembali saat boot, berhenti atau restart.
Untuk menggunakannya dalam mode webcam IP, pengaturan berikut harus ditetapkan
/etc/motion/motion.conf
:Berikutnya, di
/etc/default/motion
set:Untuk membuat layanan autostart saat boot:
Gunakan
systemctl start/stop/restart motion
untuk tindakan yang sesuai.Port streaming default adalah
8081
. Port diaturstream_port
di bawah/etc/motion/motion.conf
.sumber
Saya tidak tahu apakah Anda mencari perangkat lunak pengintai, tetapi saya telah berhasil menginstal dan menjalankan
motion
, sebuah detektor gerak perangkat lunak. Anda harus melihat di panduan resmi .sumber
Saya sudah bisa melakukan streaming video menggunakan uv4l WebRTC di Raspberry Pi 2. Ini sangat mudah. Ikuti saja tutorial ini . Saya harap ini membantu.
sumber
Saya mengalami kesulitan mendapatkan streaming video di windows 7. Ada banyak solusi linux, tidak saya tidak bisa meniru mereka di windows sampai sekarang. Saya mendapat solusi yang cukup cepat pada akhirnya:
Pada raspberry pi:
Pada mesin windows:
Jadi, saya anggap, tidak ada yang dibungkus ulang atau direstreaming, remuxed atau apa pun. Aliran biner dari raspvid dimasukkan ke dalam mpc dan ditampilkan. Raspberry saya beroperasi melalui wifi, jadi pada awalnya saya mendapatkan penundaan yang adil, yang dalam waktu setengah menit dikurangi menjadi penundaan 0,2-0,3 detik.
Sayangnya, saya tidak bisa menggunakan vlc dengan cara yang sama, karena
nc -l -p 5001 | vlc -
hanya membuka jendela vlc tanpa video.sumber
Saya menggunakan Nginx dengan dukungan RTMP untuk streaming ke dunia, bersama dengan avconv untuk memproses input kamera. Kode tersedia di Github .
sumber
Sementara kode Peter Hansen sangat mungkin bekerja dengan baik pada LAN, demi kelengkapan: TCP adalah tentang integritas data dibandingkan dengan waktu nyata. Dalam aliran waktu-nyata, beberapa kehilangan data mungkin dapat diterima demi tampilan yang tepat waktu. Dalam hal ini UDP mungkin lebih baik. Saya belum menguji kode itu.
Jika ini adalah kamera keamanan, multicasting dapat dipertimbangkan. Router modern dapat melakukannya bahkan dengan model $ 100.
sumber
Saya telah menginstal solusi ONVIF dari https://github.com/BreeeZe/rpos pada pi saya, mengikuti instruksi pada README.md .
Satu-satunya perbedaan adalah bahwa saya telah menginstal
node v8.4.0
. Ini memungkinkan saya melihat output kamera saya di NVR yang terhubung di jaringan yang sama. Selain itu, kamera dapat langsung diputar melalui aliran jaringan pemutar VLC menggunakan alamatrtsp://192.168.1.3:8554/h264
sumber
Beberapa saat yang lalu mengalami masalah serupa dengan ini:
https://www.npmjs.com/package/ws-avc-player
Ini lebih barebone daripada solusi yang diusulkan lainnya, tapi saya pikir itu berfungsi dengan baik jika latensi rendah di web adalah prioritas.
Bekerja pada sebagian besar browser (bahkan ponsel pada 480p) tanpa plugin apa pun yang diperlukan pada browser.
sumber
raspivid
umpan kamera. Denganffmpeg
di sisi lain saya hanya mendapatkan sepersepuluh frame per detik. Saya menggunakan Raspbian bersih dan Pi Zero. Apakah Anda punya beberapa petunjuk untuk saya?node example/index.js raspivid
Ini seharusnya bekerja di luar kotak jika Anda memiliki masalah coba jalankan adilnode example/index.js
dan terpisah/opt/vc/bin/raspivid -pf baseline -ih -t 0 -w 640 -h 480 -hf -fps 15 -g 30 -o - | nc localhost 5000
dan lihat apakah Anda mendapatkan kesalahan dari raspivid