पर PHP के माध्यम से पढ़ते समय नहीं, मैं उनकी सेवा करने से पहले वीडियो अनुरोधों को सत्यापित करने के लिए एक PHP स्क्रिप्ट का उपयोग करता हूं। यह स्क्रिप्ट सफारी और क्रोम के साथ डेस्कटॉप पर अपेक्षित काम करता है। लेकिन आईओएस पर, मुझे टूटा हुआ प्ले बटन मिलता है।एमपी 4 चलाता है जब सीधे पहुंचाया जाता है, लेकिन आईओएस
मुझे यकीन है कि वीडियो आईफोन/आईपैड के लिए ठीक से एन्कोड किया गया है, क्योंकि जब मैं इसे सीधे एक्सेस करता हूं, तो यह अपेक्षा के अनुसार काम करता है।
प्रासंगिक PHP कोड:
$file_name = 'test-video.mp4';
$file_size = (string)(filesize($file_name));
header('Content-Type: video/mp4');
header('Content-Length: '.$file_size);
readfile_chunked($file_name);
exit;
(readfile_chunked()
readfile()
के लिए, लेकिन बहुत बड़ी फ़ाइलों, पीएचपी मैनुअल पृष्ठ पर मौजूद टिप्पणियों में पाया के लिए इसी तरह की है:। http://php.net/manual/en/function.readfile.php किसी भी घटना में, test-video.mp4
केवल ~ 5 MB है ।, जो स्मृति सीमा से कम है - और इस मामले में मैं वास्तव में सामान्य readfile()
में स्थानापन्न और ठीक उसी व्यवहार उत्पादन कर सकते हैं)
हेडर जब मैं test-video.mp4
का उपयोग मैं सीधे हैं:
Accept-Ranges:bytes
Connection:Keep-Alive
Content-Length:5558749
Content-Type:video/mp4
Date:Sun, 27 Jun 2010 21:02:09 GMT
Etag:"1c04757-54d1dd-489944c5a6400"
Keep-Alive:timeout=10, max=30
Last-Modified:Tue, 22 Jun 2010 01:25:36 GMT
Server:Apache/2.2.15 (CentOS) mod_ssl/2.2.15 0.9.8l DAV/2 mod_auth_passthrough/2.1 FrontPage/5.0.2.2635
PHP स्क्रिप्ट से हेडर हैं:
Connection:Keep-Alive
Content-Disposition:inline; filename="test-video.mp4"
Content-Length:5558749
Content-Type:video/mp4
Date:Sun, 27 Jun 2010 21:03:32 GMT
Keep-Alive:timeout=10, max=15
Server:Apache/2.2.15 (CentOS) mod_ssl/2.2.15 0.9.8l DAV/2 mod_auth_passthrough/2.1 FrontPage/5.0.2.2635
X-Powered-By:PHP/5.2.13
मैं कोई लाभ नहीं हुआ हेडर के कई अलग अलग क्रमपरिवर्तन की कोशिश की है, यहां तक कि उन्हें वास्तव में एक सीधा अनुरोध से उन लोगों के लिए मिलान,।
क्या किसी ने आईओएस पर PHP के माध्यम से एचटीएमएल 5 वीडियो की सफलता हासिल की है?
[ध्यान दें:। मैं एक्स Sendfile का उपयोग कर की कोशिश करेंगे, लेकिन साइट बहुत ही सीमित उपयोग के साथ एक साझा मेजबान पर है]
संपादित करें: मैं पढ़ रहा था कि आईओएस तो फ़ाइल एक्सटेंशन के बारे में संवेदनशील हो सकता है, मैंने एक रिवाइटरूल सेट अप करने का प्रयास किया जो MP4 अनुरोधों को मेरी मूल PHP स्क्रिप्ट पर वापस लिखता है, लेकिन इससे कोई मदद नहीं मिली।
बिल्कुल सही - मैं तो बस कॉपी करने समाप्त हो गया 'rangeDownload()' परिशिष्ट A से समारोह निम्न आलेख की: http://mobiforge.com/developing/story/content-delivery-mobile-devices (क्या अच्छा है इस फ़ंक्शन के बारे में यह उपयोगकर्ता को टाइमलाइन पर क्लिक करके वीडियो में किसी भी बिंदु से प्लेबैक शुरू करने की इजाजत देता है।) मुझे लगता है कि मैं यहां समस्या से विशेष रूप से उलझन में था क्योंकि यह डेस्कटॉप पर पूरी तरह से काम करता था, जबकि आईओएस में यह बाइट है -रेंज आवश्यकता। – JKS