好吧,基本上我有一个项目要求视频对用户隐藏,同时仍能看到它们(通过使用php).这是我到目前为止所得到的:
video.php文件包含:
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'path/to/movie.mp4');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
$out = curl_exec($ch);
curl_close($ch);
header('Content-type: video/mp4');
header('Content-type: video/mpeg');
header('Content-disposition: inline');
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".filesize($out));
echo $out;
exit();
?>
Run Code Online (Sandbox Code Playgroud)
并且应该显示的html文件正在使用html5.现在这里的事情......当我直接嵌入这个(不是)时它起作用.但它不适用于我的iPhone并且无法在标签中工作...如果我使用直接文件而不是php包装器,一切正常,在我的iPhone上也是如此...
所以我想我的问题是这样的:什么是正确的header()信息来完美复制可以通过iPhone和HMTL5流式传输的mp4?
解决方案源自:http://mobiforge.com/developing/story/content-delivery-mobile-devices
video.php文件:
<?php
$file = 'path/to/videofile.mp4';
$fp = @fopen($file, 'rb');
$size = filesize($file); // File size
$length = $size; // Content length
$start = 0; // Start byte
$end = $size - 1; // End byte
header('Content-type: video/mp4');
header("Accept-Ranges: 0-$length");
if (isset($_SERVER['HTTP_RANGE'])) …Run Code Online (Sandbox Code Playgroud) 在执行代码时,该videoJS 插件取代了HTML5视频播放器,我感到非常高兴,我之间说了自己取得的成就。
但是,当点击下一个视频时,即使返回到第一个视频,该插件也丢失了,剩下的默认播放器为HTML5
您可以在jsfiddle或此处进行检查:
$(document).ready(function() {
function insertar_contenido(vid, elemento) {
var contenido, fuente
var url = elemento.attr("href")
var ext = "mp4"
var formato = ext
var es_video = new RegExp("^.+\\." + ext + "$").test(url)
var cargando = $('.loading')
function mostrar() {
cargando.fadeIn(200)
}
function ocultar() {
cargando.fadeOut(100)
}
mostrar()
var cuadro = vid.find(".cuadro")
if (cuadro.length != 0) {
$("#ocultado").append(cuadro)
}
if (es_video) {
var json = {"aspectRatio":"640:267", "playbackRates": [1, 1.5, 2]}; …Run Code Online (Sandbox Code Playgroud)