Membuat tv streaming dengan php

  • Membuat tv streaming dengan php

    • 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


Membuat tv streaming dengan php


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

Membuat tv streaming dengan php

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

Detail Information

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();
}
}