Testbench streaming VLC

0

Adakah yang mencoba streaming media dengan VLC sebagai server? Saya ingin menggunakan VLC sebagai server streaming, tetapi departemen saya tidak memiliki pengalaman yang baik dengan streaming VLC .

Pertanyaan saya adalah apakah ada yang mencoba streaming VLC melalui LAN dengan sebanyak 200 klien? Apa saja tindakan pencegahan yang harus diambil sebelum pergi untuk pertarungan yang sebenarnya? Jenis aliran transportasi apa yang lebih baik untuk streaming langsung yang lebih lancar?

Apakah ada bangku tes yang bisa saya gunakan untuk meyakinkan atasan saya?

Vineet Menon
sumber

Jawaban:

0

Sementara saya mengembangkan DVR untuk tujuan tertentu, saya melakukan banyak tes streaming H264 terutama menggunakan ffmpeg sebagai server dan VLC sebagai pemain. Tujuannya agak berbeda, karena saya hanya perlu cara untuk melihat pratinjau empat kamera ( perangkat v4l2 ) secara realtime, jadi saya akhirnya streaming video h264 langsung melalui UDP, tetapi dalam proses penelitian saya juga menggunakan VLC sebagai server, jadi mungkin itu bisa berfungsi sebagai titik awal untuk testbench Anda.

Dengan asumsi Anda menggunakan Linux sebagai platform server Anda, baris perintah di bawah ini menggunakan klien baris perintah VLC ( cvlc ) untuk mendapatkan video mentah dari perangkat v4l2 (webcam atau input kartu video), menyandikannya dalam h264 dan kemudian mengiklankan aliran untuk klien RTSP untuk mendapatkan:

cvlc v4l2:///dev/video0 --sout '#transcode{vcodec=mp4v,vb=2048}:rtp{sdp=rtsp://@:8554/video.sdp}'

Jika Anda juga menggunakan VLC sebagai klien, Anda dapat melihat streaming dengan ini ( server akan menjadi nama server atau alamat IP):

vlc rtsp://server:8554/video.sdp

Karena Anda perlu melakukan streaming video ke banyak klien, akan lebih baik menggunakan multicast , sehingga server Anda tidak perlu mengirimkan aliran baru untuk setiap klien yang terhubung. Misalkan alamat multicast Anda adalah 239.255.1.1, Anda hanya perlu menentukannya di bagian RTP:

cvlc v4l2:///dev/video0 --sout '#transcode{vcodec=mp4v,vb=2048}:rtp{sdp=rtsp://@:8554/video.sdp, dst=239.255.1.1}'

Karena file video.sdp dibuat oleh VLC sendiri, Anda cukup menghubungkan dengan cara yang sama seperti sebelumnya, tetapi klien Anda akan mendapatkan aliran dari alamat multicast:

vlc rtsp://server:8554/video.sdp
Claudio
sumber
Saya telah menguji server streaming vlc dengan transport http. Saya tidak dapat menjangkau 100 klien. Tampaknya berhenti bekerja setelah saya mencapai 80 klien ... Saya juga telah mengeluarkan tiket bug di trac.videolan.org
Vineet Menon
Apakah Anda mencoba menggunakan multicast?
Claudio
Jika Anda mengarahkan semua 100 pengguna ke server Anda, masing-masing membuat aliran duplikat, Anda mungkin hanya kehabisan bandwidth. Untuk aplikasi semacam ini multicasting harus menjadi jalan yang harus ditempuh.
Claudio
saya menggunakan gigabit ethernet..i telah mencoba semua kombinasi ... bandwidth, CPU, memori ... semuanya..tapi bukan itu !!
Vineet Menon
Ok .. ini bukan tentang mesin. Bergantung pada bitrate video, bahkan ethernet gigabit tidak dapat mengatasi selusin aliran duplikat. Apakah Anda secara khusus mencoba menggunakan multicast? Dalam mode ini Anda hanya mengirim satu aliran video dari server Anda dan router berhasil mereplikasi yang hanya mengalir ke semua klien yang memintanya, sehingga Anda tidak akan pernah memiliki hambatan pada output server Anda. 100 atau lebih klien Anda semua berada di subnet yang sama?
Claudio