Dengan perkembangan berterusan industri siaran langsung, teknologi penstriman tolak dan tarik secara langsung telah menjadi salah satu sokongan penting untuk pembangunan industri siaran langsung. Sebagai bahasa yang digunakan secara meluas dalam pembangunan Web, PHP juga boleh digunakan untuk melaksanakan fungsi penstriman tolak-tarik secara langsung Artikel ini akan memperkenalkan proses pelaksanaan penstriman tolak-tarik secara langsung dalam PHP.
1. Apakah itu teknologi penstriman tolak-tarik langsung
Teknologi penstriman tolak-tarik langsung merujuk kepada penghantaran data audio dan video melalui rangkaian menggunakan mod tolak atau mod tarik supaya nyata- audio dan video masa boleh dimainkan pada aliran penerima. Mod tolak bermakna sumber siaran langsung secara aktif menolak strim audio dan video ke pelayan, manakala mod tarik bermakna pelanggan menarik strim audio dan video ke pelayan melalui rangkaian. Kedua-dua mod boleh mencapai siaran langsung masa nyata.
2. Pelayan media penstriman langsung
Untuk melaksanakan teknologi penstriman tolak dan tarik langsung, pelayan media penstriman langsung diperlukan. Pelayan penstriman langsung biasa termasuk sumber terbuka Nginx-rtmp, SRS dan Wowza komersial. Antaranya, Nginx-rtmp ialah pelayan sumber terbuka percuma yang agak mudah digunakan, manakala SRS ialah pelayan yang lebih berkuasa yang menyokong pelbagai protokol, tetapi lebih rumit untuk digunakan dan memerlukan kemahiran teknikal tertentu.
3. PHP melaksanakan penstriman langsung
Untuk melaksanakan penstriman langsung, anda perlu mendapatkan strim audio dan video dan menolaknya ke pelayan. Walaupun PHP ialah bahasa pembangunan web, ia boleh mendapatkan dan memproses strim audio dan video dengan memanggil alatan sumber terbuka seperti FFmpeg, dan menolak strim audio dan video ke pelayan media penstriman langsung melalui protokol RTMP.
Mula-mula pasang FFmpeg, anda boleh menggunakan arahan berikut:
sudo apt-get install ffmpeg
Kemudian gunakan FFmpeg untuk mendapatkan aliran audio dan video dan menolaknya ke pelayan siaran langsung, anda boleh menggunakan yang berikut Kod PHP:
$cmd = "ffmpeg -re -i /path/to/video.mp4 -vcodec copy -acodec aac -strict -2 -f flv rtmp://your-live-server.com/app/streamkey"; exec($cmd);
Antaranya, /path/to/video.mp4
ialah laluan fail video tempatan dan rtmp://your-live-server.com/app/streamkey
ialah alamat tolak RTMP bagi pelayan penstriman langsung.
4. Melaksanakan penstriman langsung dengan PHP
Untuk melaksanakan penstriman langsung, anda perlu mendapatkan strim audio dan video pada pelayan media penstriman langsung. PHP boleh menggunakan alatan sumber terbuka seperti FFmpeg dan libcurl untuk mendapatkan strim audio dan video, dan menggunakan teknologi seperti Video HTML5 atau Flash untuk memaparkannya pada halaman Web.
Gunakan FFmpeg untuk mendapatkan strim audio dan video Anda boleh menggunakan kod PHP berikut:
$cmd = "ffmpeg -i rtmp://your-live-server.com/app/streamkey -f mpegts -codec:v mpeg1video -codec:a mp2 -s 640x360 -b:v 800k -b:a 128k -bf 0 -muxdelay 0.001 http://localhost:8080"; exec($cmd);
Antaranya, rtmp://your-live-server.com/app/streamkey
ialah alamat penstriman RTMP bagi pelayan media penstriman langsung. dan http://localhost:8080
ialah HTTP tempatan Alamat pelayan.
Gunakan libcurl untuk mendapatkan strim audio dan video Anda boleh menggunakan kod PHP berikut:
$ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "rtmp://your-live-server.com/app/streamkey"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $result = curl_exec($ch);
Selepas mendapatkan strim audio dan video, anda boleh menggunakan Video HTML5 untuk memaparkannya. halaman Web:
<video id="live-video" src="http://localhost:8080"></video>
Anda juga boleh menggunakan Flash dan teknologi lain untuk memaparkannya pada halaman Web.
5. Ringkasan
Artikel ini memperkenalkan proses melaksanakan penstriman tolak-tarik secara langsung dalam PHP dan memberikan contoh kod yang sepadan. Walaupun PHP bukan bahasa arus perdana untuk teknologi penstriman tolak-tarik secara langsung, dalam beberapa senario, PHP boleh dilaksanakan untuk melaksanakan penstriman tolak-tarik secara langsung. Tidak kira bahasa yang digunakan, melaksanakan teknologi penstriman tolak-tarik secara langsung memerlukan penyelesaian teknikal yang betul dan pengalaman praktikal, serta memerlukan pembelajaran dan percubaan berterusan.
Atas ialah kandungan terperinci Bagaimana untuk melaksanakan penstriman tolak dan tarik langsung dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!