Silverlight Live Video Streaming dengan Windows Media Services

Iseng-iseng ngoprek Windows Server 2008, terilhami tulisan pak Zeddy di milis MSP — tentang Streaming Video dengan silverlight. Hasil akhir oprekan kali ini adalah : Live video streaming nongol di halaman web (silverlight).

Here’s how it work :

  • Live video di capture dari kamera laptop
  • Video tersebut di encode oleh Expression Encoder 2 (di laptop)
  • Expression Encoder 2 membroadcast videonya (lewat HTTP)
  • Videonya di tangkap oleh publishing point di Server
  • Oleh server kemudian di siarkan lagi menggunakan Windows Media Services
  • Siaran ditampilkan oleh aplikasi silverlight: MinoPlayer

Web yang dipakai untuk oprek oprek adalah prototype web lab RPL yang dikembangkan oleh teman saya di lab, Bayu Munajat dengan di teknologi PHP yang dibuat dengan framework Prado.

Nah, langkah-langkah taktisnya adalah seperti berikut :

  1. Pasang web di server 2008 (IIS 7)
  2. Install Microsoft Expression Encoder 2 di Laptop
  3. Install Windows Media Format 11 SDK di Laptop
  4. Install Windows Media Services 2008 di Windows Server 2008
  5. Capture dan Encode dengan Expression Studio 2 di Laptop
  6. Setup Publishing Point di Server
  7. Ubah path source media di MinoPlayer
  8. Selesai :)

Here’s how in detail :
1. Prototype web RPL ini dibangun diatas PHP dengan menggunakan framework Prado. Nggak begitu ngerti sih, terima beres aja dari Bayu :) Nah di dalam web ini, Bayu masang MinoPlayer, sebuah aplikasi Silverlight untuk streaming video. Sebelumnya aplikasi ini digunakan untuk menampilkan video-video BrainSpark (lewat direct link ke HTTP files). Darisinilah muncul ide, apa bisa kita nampilin video secara live? Mungkin bisa dimanfaatkan untuk nge-live-broadcast acara BrainSpark, biar bisa dilihat secara live on the net…

2 & 3. Next, kita siapin dulu komputer tempat meng-capture video live-nya.  Saya menginstall Microsoft Expression Encoder 2 di Laptop saya. Nggak ada settingan khusus yang harus dilakukan disini. Next next ajah. Nah ketika pertamakali di jalankan, Expression Encoder 2 menyarankan saya untuk menginstall Windows Media Format 11 SDK. Mungkin karena laptop saya masih pakai Windows XP dan Media Player 9 :P jadi codec-codecnya nggak uptodate.

4. Selanjutnya adalah menginstall Roles Streaming Media Services di Windows Server 2008. Caranya adalah dengan mendownload Windows Media Services 2008 for Windows Server 2008 kemudian menginstallnya di Windows Server 2008. Simple ajah, tinggal next next next.

Kendala yang muncul adalah : Windows Media Services membutuhkan port 80 untuk menjalankan WMS HTTP Server Protocol — yang ternyata sudah dipakai oleh IIS 7 Web Server (yang sudah terinstall duluan). Solusinya adalah dengan meng-assign port yang lain untuk protocol ini (kalau nggak mau masang lan-card buat nambah IP).

Caranya : setelah Roles Streaming Media Services terinstall,

  • buka Server Manager -> Streaming Media Services
  • Klik di Nama Server -> Masuk ke Tab Properties
  • Lihat category Control Protocol
  • Ubah port WMS HTT Server, saya menggunakan port 88
Streaming Media Services

Roles : Streaming Media Services

Pada saat kita menginstall Roles Streaming Media Services pertamakali, WMS HTT Server-nya akan di non aktifkan (karena ada konflik). Jangan lupa untuk mengaktifkannya setelah merubah settingan port-nya.

5. Sekarang kita siapkan ‘studio pemancar’ di laptop kita. Caranya :

Jalankan Microsoft Expression Encoder 2. Di bagian bawah ada tombol Live Encoding untuk pindah ke mode Live Streaming. Setelah pindah ke mode live, di pojok kiri bawah kita harus menspesifikasikan source live video. Disini saya memilih untuk menggunakan Integrated Camera dan Microphone bawaan Laptop saya.

Kemudian yang perlu di atur adalah Tab Output di sebelah kanan bawah. Pastikan mode Streaming sudah aktif, kemudian pilih tipe Broadcast dengan port 77 (terserah aja sih, tapi harus sama dengan settingan Publishing Point nanti). Setelah semuanya selesai kita bisa tekan tombol Start untuk memulai Broadcast.

Expression Encoder 2 live-broadcast-ing

Expression Encoder 2 live-broadcast-ing

Video yang di broadcast oleh Expression Encoder harus ‘ditangkap’ oleh Media Services kita di Server. Caranya adalah dengan :

6. Setelah Windows Media Services terinstall, kita bisa membuat publishing point untuk menangkap Live Streaming dari Encoder. Caranya :

  • Klik kanan pada Publishing Point -> Pilih Add publishing point (wizard ajah)
  • Isi Nama publishing point, saya menggunakan nama : LiveTest
  • Pada halaman Content Type pilih : Encoder (a live stream)
  • Pada halaman Publishing Point Type : Broadcast publishing point
  • Untuk Encoder URL isikan : “http://10.14.11.57:77&#8221; <– Alamat laptop saya, dan port 77 yang dipakai Expression Encoder untuk broadcast.
  • Next next sampai selesai.

Nah, sampai tahap ini, (apabila tidak ada masalah dan publishing point ini sudah ‘start’) Publishing Poing ‘LiveTest’ siap untuk diakses. Untuk mengecek apakah live video sudah dipancarkan dengan baik, pemirsa bisa mencoba mengarahkan player mereka (Windows Media Player -> Open URL) ke alamat (misalnya) : “mms://RPL-00/LiveTest” (alamat server di lab)

Live video shown on Windows Media Player

Live video shown on Windows Media Player

Hasilnya, adalah tampang ganteng anda bakal nongol di Windows Media Player — Live!!!

7. Nah, langkah terakhir, kita pengen coba apakah MinoPlayer bisa menerima siaran live ini? Jawabannya adalah : (Ternyata) bisa! Untuk melakukannya, kita tinggal merubah path VideoSource ke Publishing Point barusan. Contohnya adalah seperti pada gambar di bawah :

Tinggal edit path-nya

Tinggal edit path-nya

Nampaknya, MinoPlayer hanya bisa menampilkan video dari sumber HTTP, sehingga saya harus merubah alamat publishing point-nya menjadi IP plus Port HTTP protocol Windows Media Services (yang tadi kita setting ke 88).

Dan, hasil akhirnya adalah *jreng jreng jreeeng* : Tampang ganteng saya nongol di halaman depan prototype web RPL… live!!! wkwkwkwk….

Final look

Final look

3 Responses to “Silverlight Live Video Streaming dengan Windows Media Services”

  1. mirza Says:

    duh…

    pasang foto orang belom mandi pulak..!!

    jd ilang selera pembacanya… :(

  2. Yudi Says:

    he..he.. harusnya bisa diakses dari luar, jadi aku bisa liat anak2 rpl pas bangun tidur :D

  3. suarbilt Says:

    coba bikinin streaming Tv Tunner, Leo….

    Di server dipasang TV tunnernya, trus disebarkan ke klien…

    hasilnya diposting di blogmu yahhh…..


Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: