2017-04-17 94 views
1

Browser errorsHTML視頻播放器出現故障對於某些文件

從上面的圖片,我有一個視頻文件,而我試圖檢索視頻->這些問題只針對它正在發生,這可能是在特定的文件來->可能的問題..?

我正在追加視頻數據使用jQuery Ajax響應:

$("#videoData").append('<video width="75%" class="center-block" 
         controls autoplay style="max-width: 60em;"> 
         <source style="max-width: 60em;" src="'+path+'" type="video/mp4"> 
         '+response["videoName"]+'</video>'); 

路徑視頻位置內將來自啓動。 (http://website.com/uploads/file.mp4)

我的HTML是這樣的:

<div id="videoData">  </div> 

我的PHP來存儲文件是這樣的:

$videoPath  = '../uploads/course_videos/'.$coursename; 
for ($i = 0; $i < count($_FILES['course_video']['name']); $i++) { 
$videofilename  = $_FILES["course_video"]["name"][$i]; 
$videofilename  = mysqli_real_escape_string($conn,$videofilename); 
$targetVideo = $videoPath ."/". $videofilename; 
move_uploaded_file($_FILES["course_video"]["tmp_name"][$i], $targetVideo) 
} 

所有文件被正確上傳的文件夾中,但我不知道爲什麼很少視頻不來

我認爲該文件可能已損壞,但是當我從服務器再次下載相同的文件,當我在我的電腦播放,它工作正常。

幫助表示讚賞..

+0

它不適用於所有瀏覽器。我認爲有一個問題與我的JavaScript。這就是爲什麼我問這裏@chris –

+0

重新閱讀您的問題後,我認爲這是服務器端問題。請顯示您的上傳腳本。我認爲你不能正確地逃避名字。 –

回答

1

如果你只是直接上傳視頻文件,並沒有轉換或檢查它們,你可能會面臨安全問題。

與此同時,由於各種編解碼器的原因,並不能保證所有上傳的文件都能播放。我建議對上傳的文件進行檢查,以確認它們是視頻,然後轉換。


其他可能的原因,它可能會發生,像你提到,在一些文件,是你無法逃避的URL正確。

嘗試在返回的URL上使用encodeURIComponent(path)

encodeURIComponent() - 譯:encodeURIComponent()函數通過由一個,兩個,三個,或四個轉義序列表示UTF-8編碼替換某些字符的每個實例編碼的統一資源標識符(URI)成分(對於由兩個「代理」字符組成的字符,將只有四個轉義序列)。


此外,它可能是服務器端的問題。在服務器端正確地轉義文件名也很重要。

在文件上傳和播放視頻時可能會出現數十個可能的問題。

+0

1.媒體資源'http:// website.com/uploads/course_videos/Sentences/Sentences.mp4'無法解碼。 2。所有候選資源未能加載。媒體加載已暫停。 –

+0

同樣的問題eventhough我加了這個:'var path = encodeURIComponent(path);' –

+0

你可以用瀏覽器打開這個鏈接嗎? –