Video vẫn phát mà danh sách media trống trơn — tính năng dò tìm nghe ngóng request
Bạn đã cài công cụ, video rõ ràng đang phát, vậy mà danh sách media bên phải vẫn trống trơn. Đổi trang, mở lại ứng dụng, thử máy khác — vẫn vậy. Danh sách được dựng lên bằng cách nghe các request, chứ không phải bằng cách lùng file: nếu trình phát không thật sự kéo luồng, phía công cụ có bình thường cũng không nghe được gì. Dưới đây tách riêng từng kiểu không nghe được.
Công cụ không dò ra video vì nó nghe request chứ không đi tìm file
Cách công cụ phát hiện video là ngồi ngay cửa ra mạng của trang: mỗi lần trình phát đi lấy dữ liệu, request đó được ghi lại, và danh sách chỉ là bản tổng hợp những ghi chép ấy. Nó không quét cả trang để tìm file video — trên trang streaming vốn dĩ không có file nào như thế. Danh sách trống nghĩa là không nghe thấy động tĩnh, chứ không phải không tìm thấy gì.
Muốn có mục trong danh sách, hai điều phải cùng lúc đúng.
- Trình phát thật sự bắt đầu kéo luồng: dừng ở ảnh bìa, nhúc nhích khi con trỏ lướt qua, hay tự phát bị chặn — đều không tính.
- Request phát ra từ vị trí công cụ nghe được: nếu trình phát nằm lồng trong một khung khác, thì không nghe được.
Thiếu một trong hai là danh sách trống. Vì sao trên trang streaming không có một file video sẵn có, cơ chế đã được mổ xẻ trong vì sao video streaming không tải được; ở đây ta nối tiếp phần nghe.

Trình phát chưa thật sự kéo luồng thì danh sách cứ trống
Kiểu trống phổ biến nhất thật ra chẳng hỏng gì: hình đang động, nhưng trình phát không hề đi lấy dữ liệu. Vòng xoay ảnh bìa, xem trước khi rê chuột, cửa sổ nhỏ tự phát khi bị tắt tiếng — đều tạo cảm giác nó đang phát.
- Xem trước khi rê chuột và vòng xoay ảnh bìa: vài giây động đậy khi con trỏ lướt qua thường chỉ là đổi ảnh hoặc một đoạn xem trước rất ngắn.
- Tự phát bị trình duyệt chặn: trước khi bạn bấm vào trang, tự phát kèm tiếng thường bị từ chối — hướng dẫn autoplay của MDN nói rất kỹ; sau khi bị từ chối, nhiều site không thử lại, hình cứ đứng yên chờ một cú bấm.
- Trình phát chưa được tạo: trang dạng bảng tin chỉ dựng trình phát khi bạn cuộn tới vị trí, trước đó không có đối tượng nào để kéo luồng.
- Phía trước có một cánh cửa: đăng nhập, xác nhận độ tuổi chưa xong thì request không phát ra.
Bốn trường hợp dẫn tới cùng một thao tác: cho video phát thật, chạy trọn năm giây trở lên rồi mới nhìn lại danh sách. Cách này ăn hơn hẳn việc tải lại trang — tải lại không sinh ra request nào.
Khi trình phát đổi cách vẽ, công cụ theo không kịp
Hình vẫn phát, luồng thật sự được kéo về, mà danh sách vẫn có thể trống — thứ công cụ nghe được không còn có dạng mà nó nhận ra. Trình phát web ngày nay hiếm khi đặt sẵn một file trên trang; một đoạn script ghép các phân đoạn trong bộ nhớ trình duyệt rồi đưa vào màn hình, và trình duyệt đã định nghĩa riêng một giao diện cho đúng việc này — những dòng đầu của đặc tả Media Source Extensions của W3C ghi rõ mục đích.
- Trình phát nằm lồng trong một khung khác: cả vùng phát do một địa chỉ khác cung cấp, request kéo luồng phát ra từ lớp đó.
- Địa chỉ phân đoạn không có đuôi quen thuộc: cuối địa chỉ không có dấu hiệu media nào, nên các quy tắc đoán theo đuôi sẽ bỏ qua.
- Request bị chính lớp cache của trang đón trước: trang giữ dữ liệu bằng một cơ chế ngoại tuyến rồi tự đưa cho trình phát, nên lớp mạng im lặng.
Mấy trường hợp này không phải lỗi, mà là ranh giới của con đường nghe request. Cùng công cụ đó vẫn chạy bình thường ở site khác, điều đó không chứng minh site này có vấn đề.
Một phép thử hai nhánh: lúc phát có request media nào không
Chỉ cần một điều là phân biệt được lỗi ở phía trang hay phía công cụ: trong mấy giây phát đó, có request media nào phát ra không. Nhấn F12 mở công cụ dành cho nhà phát triển, chuyển sang bảng mạng, lọc theo loại media, rồi để mắt vào những mục mới xuất hiện trong lúc phát — bấm phát một lần và cho chạy trọn năm giây.
- Không có mục nào: trình phát không kéo luồng, vấn đề nằm ở phía trang, quay lại hai mục trên xem là chưa phát thật hay bị chặn.
- Có request mà danh sách vẫn trống: luồng đã được kéo về mà công cụ không nghe thấy, vấn đề nằm ở phía công cụ, lúc đó mới nên đổi cách.
Một điều cần nói rõ: những địa chỉ đó không dùng được, và cũng không nên dùng theo. Với nội dung dạng phân đoạn, lấy được một mục cũng không ghép thành file phát được. Và cần phân biệt đối tượng — ở đây đang kiểm tra trường hợp hoàn toàn không bắt đầu; chậm và khựng sau khi thanh tiến trình chạy là vấn đề khác, xem ở cách tăng tốc khi tải chậm.
Khi danh sách trống, hãy lưu nội dung muốn giữ về máy
Dò tìm phải chờ request, còn ghi hình không quan tâm request, nó nhận theo hình — chỉ cần hình thật sự động, mọi kiểu không nghe được ở trên đều không cản được nó. Dùng VidBrowser để đưa nội dung về máy gồm bốn bước:
Bước 1: Tải và cài VidBrowser
VidBrowser là trình duyệt video cho máy tính, hỗ trợ Windows và Mac, tích hợp sẵn hai tính năng tải và ghi hình, không cần cài thêm tiện ích để nghe thay nó, vài phút là cài xong.

Bước 2: Mở trang cần lấy trong VidBrowser và cho video phát thật
Đăng nhập bằng tài khoản của bạn, truy cập bình thường, rồi bấm phát một lần và cho chạy vài giây. Phép thử hai nhánh ở trên tái hiện được ngay ở bước này.

Bước 3: Xem trước danh sách media bên phải có mục nào không
Nếu có, chọn độ phân giải rồi bấm nút tải màu cam để lưu thành MP4.
Bước 4: Không có mục nào thì chuyển sang ghi hình
Rê chuột lên hình sẽ hiện lớp điều khiển ghi hình: chọn tốc độ (1x theo thời gian thực, 2x hoặc 4x để xong nhanh hơn), bấm ghi toàn bộ để lấy trọn đoạn, nút ghi hình bên trái bắt đầu hoặc tạm dừng bất cứ lúc nào. Nội dung được bảo vệ, phát trực tiếp, và cả những trường hợp không nghe được luồng ở trên đều nằm ở bước này. File ghi xong tìm lại trong lịch sử tải ở bên trái, không phụ thuộc tình trạng tài khoản.
Mấy loại này vốn không có nguồn để tải, đừng chờ mục nữa
Đã đi hết các bước mà danh sách vẫn trống thì thường không còn là lỗi, mà vốn dĩ không có nguồn để tải. Danh sách trống chính là kết quả đúng.
- Bản thân phân đoạn đã mã hoá: request nghe được, nhưng file ghép ra không phát được, loại nội dung này giữ lại bằng ghi hình.
- Phát trực tiếp: từ giây đầu tiên đã vừa tạo vừa gửi, không tồn tại một file hoàn chỉnh, thứ nghe được là dòng dữ liệu liên tục.
- Hình do script vẽ ra: cả đoạn được script vẽ từng khung lên canvas, trên trang không tồn tại dữ liệu media, đến luồng cũng không có.
Cách không phụ thuộc vào việc có file hay không chính là ghi hình. Danh sách trống không có nghĩa là không làm được, chỉ là cửa vào đã đổi.
Câu hỏi thường gặp
Video vẫn phát bình thường, vậy sao trong công cụ không có mục nào?
Vì dò tìm nghe request kéo luồng, chứ không nghe hình có động hay không — xem trước khi rê chuột, tự phát bị chặn, trình phát lồng trong khung khác đều khiến hình động mà request không nghe được. Hãy bấm phát một lần và cho chạy vài giây.
Cùng một site hôm qua còn dò được, hôm nay lại trống, giữa chừng đổi gì?
Phần lớn là trang đổi cách làm trình phát. Sau khi site nâng cấp trình phát hoặc đổi cách viết địa chỉ phát, quy tắc cũ có thể mất tác dụng ngay trong ngày, đó là chuyện khác với việc công cụ hỏng. Thứ tự xử lý ở phải làm gì khi công cụ tải ngừng hoạt động.
Mấy địa chỉ thấy trong công cụ dành cho nhà phát triển có lấy tải trực tiếp được không?
Phần lớn là không, và cũng không nên làm vậy. Nội dung dạng phân đoạn được ghép từ hàng chục đến hàng trăm mẩu nhỏ, một mục đơn lẻ không thành đoạn. Muốn giữ một bản, ghi hình là đường trực tiếp hơn.



