Pembuatan Aplikasi Peer-to-peer Multimedia Sharing Berbasis Gstreamer, Python, dan GTK+

dokumen-dokumen yang mirip
Pembuatan Aplikasi Peer-to-peer Multimedia Sharing Berbasis Gstreamer, Python, dan GTK+

BAB III METODE PENELITIAN. ini, diantaranya adalah dengan langkah-langkah sebagai berikut :

Pemodelan Audio Player Berbasis Web Dengan Menggunakan HTML 5. Skripsi

BAB 3 ANALISIS DAN PERANCANGAN APLIKASI. misalnya EyeSpyFx. Aplikasi ini memiliki fitur untuk melakukan pemantauan keamanan

BAB III METODE PENELITIAN

BAB III PERANCANGAN IMPLEMENTASI SISTEM

PEMBUATAN APLIKASI PEMUTAR AUDIO STREAMING BERBASIS ANDROID

Bab 3 Metode dan Rancangan Sistem

BAB III ANALISIS DAN PERANCANGAN SISTEM

BAB II TINJAUAN PUSTAKA

Bab II Spesifikasi Produk


RANCANG BANGUN LAB VIRTUAL UNTUK SARANA EDUKASI SISTEM OPERASI LINUX MENGGUNAKAN LXD

BAB 3 Landasan Teori

BAB II TINJAUAN PUSTAKA, LANDASAN TEORI DAN PERANCANGAN

BAB III ANALISIS DAN PERANCANGAN

BAB I PENDAHULUAN 1.1 Latar Belakang

LUQMAN Pembimbing I : Wahyu Suadi, S.Kom, M.Kom, MM Pembimbing II : Henning Titi Ciptaningtyas, S.Kom

BAB III PERANCANGAN SISTEM

PEMROGRAMAN I. By : Sri Rezeki Candra Nursari

BAB 4 IMPLEMENTASI DAN EVALUASI

BAB I PENDAHULUAN 1.2. Latar Belakang Masalah

BAB I PENDAHULUAN 1.2. Latar Belakang Masalah

BAB V IMPLEMENTASI SISTEM DAN PENGUJIAN SISTEM

Bab 3 Perancangan Sistem

Tutorial Video Streaming Server Menggunakan VLC

Pendeteksian Kemacetan Lalu Lintas dengan Compute Unified Device Architecture (CUDA)

BAB IV HASIL DAN UJI COBA. Berikut ini akan dijelaskan tentang tampilan hasil rancangan dari

BAB 2 TINJAUAN PUSTAKA

BAB IV PENGUJIAN DAN ANALISIS

BAB III. server, merupakan media yang digunakan untuk mendistribusikan live stream

BAB III PERANCANGAN. aplikasi pencarian judul buku terdiri dari perangkat keras (hardware) dan perangkat

BAB III ANALISA MASALAH DAN PERANCANGAN SISTEM

BAB V IMPLEMENTASI DAN PENGUJIAN

Bab 3 Metode dan Perancangan Sistem. 3.1 Metode Pengembangan Sistem

ANALISIS KINERJA TRAFIK VIDEO CHATTING PADA SISTEM CLIENT-CLIENT DENGAN APLIKASI WIRESHARK

HTTP Protocol Ketika sebuah alamat web (atau URL) yang diketik ke dalam web browser, web browser melakukan koneksi ke web service yang berjalan pada

BAB IV IMPLEMENTASI DAN PENGUJIAN

Perancangan Web Application Honeypot untuk Menggali Informasi Peretas

IMPLEMENTASI AZURE MEDIA SERVICES UNTUK VIDEO STREAMING

BAB III ANALISA DAN PERANCANGAN

BAB IV HASIL DAN UJI COBA

Tujuan Pembangunan Jaringan Komputer. mengantarkan informasi secara tepat dan akurat dari sisi pengirim ke sisi penerima

BAB 4 RANCANGAN SISTEM YANG DIUSULKAN. Sistem yang penulis usulkan adalah sebuah sistem berbasis web yang berfungsi

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB II TINJAUAN PUSTAKA DAN DASAR TEORI

BAB IV IMPEMENTASI DAN PENGUJIAN

APLIKASI UNTUK PEMANTAUAN LAN PADA STUDI KASUS DI UNIVERSITAS BUNDA MULIA. Abstract

BAB 4 IMPLEMENTASI. dirancang, spesifikasi perangkat lunak (software) dan perangkat keras (hardware) yang

ABSTRAKSI. Universitas Kristen Maranatha

untuk pengalamatan user untuk melakukan streaming video. (yang akan diakses oleh user untuk VOD) Server dapat dijabarkan sebagai berikut :

Manual Laboratorium Bahasa

Nim : Nama : Agus Nurdin. Tgl : 10 Juni Review Presentasi DHCP di Mikrotik

BAB 4 IMPLEMENTASI DAN EVALUASI

BAB III ANALISA MASALAH DAN PERANCANGAN SISTEM

BAB IV PEMBAHASAN. grafik dengan menggunakan diagram relasi entitas (ERD). Diagaram relasi entitas

BAB 1 PENDAHULUAN. diberikan kepada pengguna selanjutnya yang ingin menggunakan proyektor.


Tutorial Membangun Radio Streaming Arie Widodo

BAB III ANALISIS DAN PERANCANGAN SISTEM

BAB III METODE PENELITIAN DAN PERANCANGAN SISTEM

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

BAB IV IMPLEMENTASI DAN PENGUJIAN

BINUS University. Jurusan Teknik Informatika Skripsi Sarjana Komputer Semester Ganjil tahun 2007/2008

BAB III LANDASAN TEORI. layanan (service) tertentu dalam sebuah jaringan komputer. Server. sebagai sistem operasi jaringan (network operating system).

1. Pendahuluan. 2. Tinjauan Pustaka

BAB III ANALISIS DAN PERANCANGAN

Rancang Bangun RTP Packet-Chunk De-encapsulator Data AV Stream Format RTP Sebagai Terminal Access Multi-Source Streaming Server

Web Service sebagai Solusi Aplikasi Jejaring Musik Terintegrasi

BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM

Wireshark. Netstat. Berikut ini keterangan dari output netstat diatas :

Teknik Informatika S1

BAB 4 PERANCANGAN DAN EVALUASI

BAB IV PEMECAHAN MASALAH DAN UJI COBA APLIKASI

BAB II KONSEP DASAR VIDEO STREAMING SERVER. komputer. Komputer server didukung dengan spesifikasi hardware yang lebih

Bab 3 Metoda dan Perancangan Sistem

BAB III ANALISIS DAN DESAIN SISTEM

PEMANTAUAN LAN PADA UNIVERSITAS BUNDA MULIA DENGAN APLIKASI MONITORING. Halim Agung Tekhnik Informatika Universitas Bunda Mulia

1 BAB 1 PENDAHULUAN. 1.1 Latar Belakang. 1.2 Rumusan Masalah

BAB V PENUTUP Kesimpulan Saran DAFTAR PUSTAKA

1BAB I PENDAHULUAN 1.1 Latar Belakang

BAB 4 IMPLEMENTASI DAN EVALUASI

QUALITY OF SERVICE (QoS) TEKNOLOGI STREAMING UNTUK APLIKASI SURVEILLANCE

BAB IV PERANCANGAN. 4.1 Perancangan Mobile Tracker Simulator (MTS)

FTP Server. Konfigurasi Server Konfigurasi FTP. 1. Klik Menu Start All Programs Control Panel Add/Remove Program

BAB 3 PERANCANGAN SISTEM. Perancangan aplikasi meliputi server, pengajar dan mahasiswa. Server akan

APLIKASI PENYADAP TELEPON DENGAN MEMANFAATKAN TEKNOLOGI RADIO STREAM BERBASIS WEB

Bab II. TINJAUAN PUSTAKA

IMPLEMENTASI DAN PENGUJIAN

BAB III ANALISA DAN PERANCANGAN 3.1 ANALISA PERANGKAT LUNAK BASIS DATA MULTIMEDIA

SKRIPSI APLIKASI WEB RADIO LIVE STREAMING MENGGUNAKAN TEKNOLOGI WEBRTC

ABSTRAK. Universitas Kristen Maranatha

BAB IV HASIL DAN PEMBAHASAN

Kelompok 1. Anggota : BOBBY KURNIAWAN NIA FITRIANA ARI FEBRYANSYAH DIAN ULUMIA ORIN HARITSA YASSER

BAB III ANALISIS DAN DESAIN SISTEM

BAB III ANALISIS DAN DESAIN SISTEM

BAB IV IMPLEMENTASI PROGRAM

BAB III ANALISIS DAN DESAIN SISTEM

BAB III ANALISIS DAN PERANCANGAN

BAB II TEORI DASAR. Resource Reservation Protocol (RSVP) merupakan protokol pada layer

Transkripsi:

Pembuatan Aplikasi Peer-to-peer Multimedia Sharing Berbasis Gstreamer, Python, dan GTK+ Kurniawan Haikal 5106100172 Dosen Pembimbing: Wahyu Suadi, S.Kom., M.M., M.Kom.

Pendahuluan

Latar Belakang Multimedia streaming Gstreamer for streaming Peer-to-peer Sharing

Tujuan Menyediakan aplikasi multimedia sharing dengan konsep peer-to-peer menggunakan Gstreamer framework sebagai server dan player tanpa tergantung dengan aplikasi tertentu

Rumusan Masalah Bagaimana sebuah file multimedia (audio/video) dapat di-stream ke komputer lain di dalam sebuah jaringan komputer dengan menggunakan Gstreamer. Bagaimana sebuah komputer menampilkan daftar file yang di-share di komputer tersebut untuk kemudian dapat dimainkan oleh pengguna di komputer lain Bagaimana sebuah komputer melakukan request ke komputer lain untuk memainkan sebuah file multimedia (audio/video) yang masuk dalam daftar share.

Batasan Masalah Membangun aplikasi multimedia sharing untuk komputer-komputer yang berada di dalam satu jaringan atau komputer dengan IP public dengan konsep peerto-peer menggunakan Gstreamer sebagai server dan player.

Manfaat Akses file multimedia pada komputer lain tanpa harus menyalin fisik file ke dalam hard disk lokal Meminimalisir pelanggaran hak cipta Berbagi

Tinjauan Pustaka

Gstreamer Framework multimedia berbasis pipeline Play Stream Edit

Gstreamer Package gstreamer: paket inti dari Gstreamer gst-plugins-base: element utama dari Gstreamer gst-plugins-good: kumpulan plugin dengan kualitas baik di bawah lisensi LGPL (Lesser General Public License) gst-plugins-ugly: kumpulan plugin berkualitas baik yang mungkin dapat menimbulkan masalah distribusi terkain lisensi gst-plugins-bad: kumpulan plugin yang kualitasnya masih perlu ditingkatkan

Gstreamer Element Gstreamer Element atau GstElement adalah bagian terpenting dari Gstreamer. Setiap decoder, encoder, demuxer, audio/video output pada dasarnya adalah sebuah element. Kumpulan dari beberapa element yang digabung akan membentuk sebuah media pipeline. Element dapat dianalogikan sebagai sebuah black box yang memiliki dua buah sisi INPUT Element OUTPUT

Gstreamer Element (2) Source Element Filter

Gstreamer Element (3) Sink Element

Pipeline Gabungan dari beberapa element

Peer-to-peer Peer-to-peer Client-server

Gstreamer Python Menyediakan Application Programming Interface (API) untuk bahasa pemrograman Python yang memungkinkan fungsi-fungsi dari Gstreamer dapat diakses menggunakan bahasa pemrograman Python

PyGTK Sekumpulan wrappers untuk library graphical user interface GTK+. PyGTK adalah perangkat lunak bebas dengan lisensi LGPL

Webpy Sebuah web framework untuk bahasa pemrograman Python yang memiliki fungsi yang cukup powerful tapi dengan arsitektur yang sederhana

Metodologi

Desain Aplikasi

Profile, Playlist, dan Shared Files Profile: berisi informasi mengenai nama komputer yang akan ditampilkan pada pengguna lain, alamat IP (internet protocol) komputer, dan nomor port di mana servis HTTP server dijalankan. Playlist: berisi daftar komputer yang menjalankan aplikasi yang sama pada jaringan komputer yang sama. Komputer-komputer yang terdapat pada playlist memiliki daftar file multimedia yang dapat dimainkan. Shared files: berisi daftar berkas multimedia (audio/video) yang dapat dimainkan oleh komputer lain dengan aplikasi yang sama.

Use Case Diagram

Arsitektur Aplikasi

Arsitektur Peer-to-peer Streaming

Komunikasi Receiver dan Sender

Graphical User Interface Window: top-level window yang menampung sebuah child widget. Button: sebuah pushbutton widget yang memunculkan sinyal ketika di-klik. TreeView: sebuah widget yang dapat menampilkan bentuk tree dan list. IconView: sebuah widget yang menampilkan daftar ikon di dalam sebuah grid.

Modul Receiver

Modul Receiver (2)

Modul Sender

Modul Sender (2)

Http Server / (root) Request terhadap path ini akan mengembalikan response berupa string tuple yang berisi data profile dari host tersebut. Contoh: - Request: http://192.168.56.1:10001/ - Response: (u'belinjo', u'192.168.56.1', 10001)

Http Server /getlist Request pada path ini akan mengembalikan response berupa string array (atau pada bahasa pemrograman Python disebut dengan list) yang berisi daftar nama file yang di-share oleh host tersebut. Contoh: - Request: http://192.168.56.1:10001/getlist - Response: [u'cangkruan 25-07-2011.flv', u'01 Borneo I-Borneo II.mp3', u'crunched.flv', u'lagu.mp3', u'wordpress-budi.ogv', u'nyanyian kode.flv']

Http Server /play Request path ini harus disertai dengan tiga buah parameter, yakni alamat IP dari client, nomor port di mana service Gstreamer tcpserversrc dijalankan, dan nomor ID dari file yang hendak dimainkan. Contoh: - Request: http://192.168.56.1:10001/play? host=192.168.56.21&port=5000&id=3 - Response: Response dari pemanggilan path /play adalah HTTP server akan memanggil modul Sender dengan parameter sesuai dengan request yang dikirimkan client

Hasil dan Pembahasan

Fungsi-fungsi Create profile Edit profile Add file Delete file Add host Remove host Play

Analisis Sumber Daya

Komputer Sebagai Client Sebelum Setelah

Komputer Sebagai Server Sebelum Setelah

Komputer Sebagai Client dan Server Sebelum Setelah

Kesimpulan Telah dikembangkan apliakasi peer-to-peer multimedia streaming berbasis Gstreamer dengan fitur-fitur: Manajemen profile Manajemen playlist Manajemen shared files Tidak terdapat perbedaan sumber daya, khususnya CPU dan memory yang cukup signifikan pada multimedia streaming antara model peer-to-peer dengan model client-server. Model komunikasi peer-to-peer dapat dijadikan alternatif untuk berbagi pakai file multimedia pada sebuah jaringan komputer.

Saran Pengguna tidak perlu menambahkan host secara manual, tetapi program melakukan scanning terhadap host-host yang berada pada jaringan yang menjalankan servis yang sama. Tipe file yang dapat di-share tidak hanya terbatas pada file audio dan video, tetapi bisa ditambahkan dengan sharing webcam maupun file presentasi. Ditambahkannya fitur "chat" yang memungkinkan antar pengguna dapat saling berkomunikasi melalui chatting.

Daftar Pustaka Wim Taymans, Steve Baker, Andy Wingo, Ronald S. Bultje, Stefan Kost. GStreamer Application Development Manual (0.10.32.3). Persson, Jens. Feb. 2009. Python GStreamer Tutorial, <URL:http://pygstdocs.berlios.de/pygst-tutorial/> Tagliaretti, G.M, Persson, Jens. Oct. 2007. Python GStreamer Reference Manual, <URL:http://pygstdocs.berlios.de/pygst-reference/> Finlay, John. 2005. PyGTK 2.0 Tutorial. Gill, Peter. 2010. PyGTK Notebook A Journey Through Python Gnome Technologies.

Terima Kasih