Tôi muốn có thể phát lại video từ một thời điểm cụ thể bằng thẻ video HTML5 (và hiện chỉ cần lo lắng về Chrome). Điều này có thể bằng cách thiết lập thuộc tính currentTime của một phần tử video. Điều đó hoạt động tốt trong Chrome với một video có nguồn gốc từ html5rocks.com, nhưng bị bỏ qua khi cùng một tệp được tải từ máy chủ web cục bộ của riêng tôi.Thẻ video HTML5 trong Chrome - Tại sao thời gian hiện tại bị bỏ qua khi video được tải xuống từ máy chủ web của tôi?
Sử dụng mã mẫu từ http://playground.html5rocks.com/#video_tag, tôi đã đến đoạn HTML sau:
<!DOCTYPE html>
<html>
<body>
<video id="video1" width="320" height="240" volume=".7" controls preload=true autobuffer>
<source src="http://playground.html5rocks.com/samples/html5_misc/chrome_japan.webm" type='video/webm; codecs="vp8, vorbis"'/>
</video>
<input type=button onclick="play()" value="play">
<input type=button onclick="setTime()" value="setTime">
<input type=button onclick="pause()" value="pause">
<script>
var play=function() {
document.getElementById("video1").play();
}
var setTime=function() {
document.getElementById("video1").currentTime=2;
}
var pause=function() {
document.getElementById("video1").pause();
}
</script>
</body>
</html>
Sử dụng Chrome, nếu bạn
- Chờ cho video tải cho một chút (cho đến khi thanh tiến trình là khoảng 10% trong)
- Nhấn setTime - bạn cần thông báo thời gian nhảy tới 2 giây
- nhấn play
... video sẽ bắt đầu lúc 2 giây trong.
Nhưng nếu tôi tải file webm trong src nguồn đến máy chủ web địa phương của tôi, và sự thay đổi src chỉ tại địa phương:
<source src="chrome_japan.webm" type='video/webm; codecs="vp8, vorbis"'/>
... sau đó đặt currentTime hoàn toàn bị bỏ qua. Không có lỗi nào hiển thị trong bảng điều khiển công cụ dành cho nhà phát triển.
Hiện tại, máy chủ web của tôi đang phân phát này với loại mime "video/webm", nhưng nó sẽ được phân phát như bất kỳ tệp cũ nào - không được phát trực tuyến.
Tôi có cần một máy chủ web truyền theo một số cách cụ thể không? Điều gì khác có thể có lỗi ở đây?
Lưu ý: Máy chủ web là nền tảng độc quyền và sẽ không có bất kỳ cài đặt hoặc điều khiển chính xác nào giống như Tomcat hoặc một số máy chủ web thường được sử dụng khác mặc dù có thể có các cách khác để đạt được hiệu quả tương tự.
Nếu có thể, hãy chụp các gói HTTP của hai trường hợp và tìm sự khác biệt. – 9dan