Tôi đã tạo các đoạn có độ dài cố định cho video MP4 dài bằng Mp4Box. Mp4Box tạo một tệp thông tin meta mv_init.mp4
và các phân đoạn như mv_1.m4s
, mv_2.m4s
,… Tôi phát trực tuyến video bằng cách sử dụng Tiện ích mở rộng nguồn phương tiện HTML5 và luồng đang hoạt động bình thường.Tính hậu tố tập tin .m4s trong luồng video HTML5 khi người dùng tìm cách khác
Vấn đề là Tôi không thể sử dụng tính năng tìm kiếm thời gian của trình phát HTML5. Khi người dùng sử dụng thanh tìm kiếm để tìm kiếm một điểm thời gian khác, tôi cần tìm nạp tệp phân đoạn chính xác (mv_{number}.m4s
) cho số currentTime
đó.
Ví dụ:
- thời gian video: 2 giờ
- phân khúc kích thước: 10 giây
- người dùng tìm cách thời gian: 25 phút
25 phút = 25 × 60 giây = 1500 giây. Vì mỗi đoạn là 10 giây, tôi cần số đoạn 1500/10 = 150. Tệp phân đoạn cần thiết là mv_150.m4s
.
Tính toán dường như đúng, nhưng trình phát HTML5 sau đó tải xuống nhiều tệp khác sau mv_150.m4s
trước khi tiếp tục với phát trực tuyến.
Cách tính chính xác số lượng tệp phân đoạn, để sau khi tìm kiếm, luồng chạy trơn tru, không tải xuống bất kỳ tệp bổ sung nào?
Để tạo các phân đoạn của video MP4, tôi sử dụng lệnh sau:
MP4Box -dash 10000 -out video.mpd -dash-profile live -segment-name mv_ -rap video.mp4
Bạn có phải là tác giả của người chơi không? Bạn có thể vui lòng bao gồm [mcve] không? I E. một ví dụ tối thiểu thể hiện vấn đề. Bạn sử dụng trình duyệt nào? – Palec