-
- Sofyan Pariyasto
- Lokomedia
- Bahasa Indonesia
Di dalam buku ini dibahas baik persiapan secara hardware maupun instalasi software pendukung serta konfigurasinya agar televisi bisa tampil di ...
- Tersedia di Perpustakaan kampus Kramat
98,
Silahkan Login untuk dapat Melakukan Peminjaman Online
- Detail Informasi
- Sinopsis Buku
Kode Buku
| :
| 221523
|
Judul Buku
| :
| Proyek membuat radio streaming dan tv online dengan php
|
Edisi
| :
| -
|
Penulis
| :
| Sofyan Pariyasto
|
Penerbit
| :
| Lokomedia
|
Bahasa
| :
| Bahasa Indonesia
|
Tahun
| :
| 2014
|
ISBN
| :
| 978-602-14306-2-0
|
Tajuk Subjek
| :
| Pemrograman PHP
|
Deskripsi
| :
| viii, 230 hlm. : ill. ; 23 cm
|
Eksemplar
| :
| 1
|
Stok
| :
| 1
|
Petugas Input
| :
| Nur Santy, S.Hum
|
Di dalam buku ini dibahas baik persiapan secara hardware maupun instalasi software pendukung serta konfigurasinya agar televisi bisa tampil di website.
Terkait Subjek Buku yang sama
TENTANG PERPUSTAKAAN
Perpustakaan Universitas Bina Sarana Informatika merupakan layanan yang diberikan kepada civitas
akademik khususnya mahasiswa untuk memperoleh informasi seperti buku, majalah, jurnal, prosiding, dll.
INFORMASI
Alamat : Jl. Raya Kramat No 98, Senen, Jakarta Pusat
Telp : -
Email :
IG : @perpustakaan_ubsi
Jam Operasional
Senin - Jumat : 08.00 s/d 20.00 WIB
Isitirahat Siang : 12.00 s/d 13.00 WIB
Istirahat Sore : 18.00 s/d 19.00 WIB
Copyright © 2022
Perpustakaan Universitas Bina Sarana Informatika
Teks Book
Proyek Membuat Radio Streaming & TV Online dengan
PHP
Saat ini mulai banyak Radio FM mengonlinekan siarannya agar mengudara di Internet atau lebih dikenal dengan Radio Streaming. Di dalam buku ini akan dibahas cara pembuatannya, baik menggunakan server gratisan maupun server yang dirancang sendiri.
Selain itu juga dibahas pembuatan Televisi Online yang juga sedang marak terlihat di website televisi indonesia seperti Metro TV, SCTV, TV One, detikTV, dll. Di dalam buku
ini dibahas baik persiapan secara hardware maupun instalasi software pendukung serta konfigurasinya agar televisi bisa tampil di website.
Sebagai bonus, ada pembahasan mengenai Proyek Web Multimedia, terutama tentang pembuatan Video Online, dimana kita bisa membuat Link di Video, Fitur Sharing, Playlist serta Menempelkan Content Iklan di Video seperti yang sering kita saksikan di Youtube.
Availability
LIB00014463
| 006.76/Par p
| Main library
| Available
|
Series Title | -
|
---|
Call Number | 006.76/Par p
|
---|
Publisher | Lokoedia : YOGYAKARTA., 2014
|
---|
Collation | 118 Hak. ; 15X23 cm
|
---|
Language |
Indonesia
|
---|
ISBN/ISSN | 978-602-14306-2-0
|
---|
Classification | 006.76
|
---|
Content Type | -
|
---|
Media Type | -
|
---|
Carrier Type | -
|
---|
Edition | Cet. I Febuari 2015
|
---|
Subject(s) | -
|
---|
Specific Detail Info | -
|
---|
Statement of Responsibility | -
|
---|
No other version available
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
|
|
| /**
|
| * Description of VideoStream
|
| *
|
| * @author Rana
|
| * @link http://codesamplez.com/programming/php-html5-video-streaming-tutorial
|
| */
|
| class VideoStream
|
| {
|
| private $path = "";
|
| private $stream = "";
|
| private $buffer = 102400;
|
| private $start = -1;
|
| private $end = -1;
|
| private $size = 0;
|
|
|
| function __construct($filePath)
|
| {
|
| $this->path = $filePath;
|
| }
|
|
|
| /**
|
| * Open stream
|
| */
|
| private function open()
|
| {
|
| if (!($this->stream = fopen($this->path, 'rb'))) {
|
| die('Could not open stream for reading');
|
| }
|
|
|
| }
|
|
|
| /**
|
| * Set proper header to serve the video content
|
| */
|
| private function setHeader()
|
| {
|
| ob_get_clean();
|
| header("Content-Type: video/mp4");
|
| header("Cache-Control: max-age=2592000, public");
|
| header("Expires: ".gmdate('D, d M Y H:i:s', time()+2592000) . ' GMT');
|
| header("Last-Modified: ".gmdate('D, d M Y H:i:s', @filemtime($this->path)) . ' GMT' );
|
| $this->start = 0;
|
| $this->size = filesize($this->path);
|
| $this->end = $this->size - 1;
|
| header("Accept-Ranges: 0-".$this->end);
|
|
|
| if (isset($_SERVER['HTTP_RANGE'])) {
|
|
|
| $c_start = $this->start;
|
| $c_end = $this->end;
|
|
|
| list(, $range) = explode('=', $_SERVER['HTTP_RANGE'], 2);
|
| if (strpos($range, ',') !== false) {
|
| header('HTTP/1.1 416 Requested Range Not Satisfiable');
|
| header("Content-Range: bytes $this->start-$this->end/$this->size");
|
| exit;
|
| }
|
| if ($range == '-') {
|
| $c_start = $this->size - substr($range, 1);
|
| }else{
|
| $range = explode('-', $range);
|
| $c_start = $range[0];
|
|
|
| $c_end = (isset($range[1]) && is_numeric($range[1])) ? $range[1] : $c_end;
|
| }
|
| $c_end = ($c_end > $this->end) ? $this->end : $c_end;
|
| if ($c_start > $c_end || $c_start > $this->size - 1 || $c_end >= $this->size) {
|
| header('HTTP/1.1 416 Requested Range Not Satisfiable');
|
| header("Content-Range: bytes $this->start-$this->end/$this->size");
|
| exit;
|
| }
|
| $this->start = $c_start;
|
| $this->end = $c_end;
|
| $length = $this->end - $this->start + 1;
|
| fseek($this->stream, $this->start);
|
| header('HTTP/1.1 206 Partial Content');
|
| header("Content-Length: ".$length);
|
| header("Content-Range: bytes $this->start-$this->end/".$this->size);
|
| }
|
| else
|
| {
|
| header("Content-Length: ".$this->size);
|
| }
|
|
|
| }
|
|
|
| /**
|
| * close curretly opened stream
|
| */
|
| private function end()
|
| {
|
| fclose($this->stream);
|
| exit;
|
| }
|
|
|
| /**
|
| * perform the streaming of calculated range
|
| */
|
| private function stream()
|
| {
|
| $i = $this->start;
|
| set_time_limit(0);
|
| while(!feof($this->stream) && $i <= $this->end) {
|
| $bytesToRead = $this->buffer;
|
| if(($i+$bytesToRead) > $this->end) {
|
| $bytesToRead = $this->end - $i + 1;
|
| }
|
| $data = fread($this->stream, $bytesToRead);
|
| echo $data;
|
| flush();
|
| $i += $bytesToRead;
|
| }
|
| }
|
|
|
| /**
|
| * Start streaming video content
|
| */
|
| function start()
|
| {
|
| $this->open();
|
| $this->setHeader();
|
| $this->stream();
|
| $this->end();
|
| }
|
| }
|