Chọn MP4 nào từ bài đăng X
X phát hành cùng một video dưới nhiều bản MP4. Chúng thường cùng độ phân giải mà khác tốc độ bit, nên dòng cao nhất của danh sách không phải lúc nào cũng là thứ bạn muốn.
Dán liên kết bài đăng và bạn nhận được các bản dựng của video đúng như X liệt kê, độ phân giải cao nhất trước. Thứ tự đó chỉ là điểm khởi đầu, không phải phán quyết: độ phân giải chỉ là kích thước khung hình, và hai tệp cùng kích thước khung có thể khác nhau rất nhiều về lượng dữ liệu đỡ mỗi giây hình.
Bộ xử lý đọc gì
X không yêu cầu đăng nhập cho việc này. Bộ xử lý hỏi điểm cuối syndication công khai của X (cdn.syndication.twimg.com/tweet-result) về bài đăng, dùng đúng cơ chế token có chữ ký mà dòng thời gian nhúng dùng. Phản hồi mang theo văn bản bài đăng, tác giả và một mảng videos chứa mọi bản MP4 mà X giữ cho bài đó.
Chỉ video và GIF được giữ. Trên X, một GIF động được gửi dưới dạng tệp MP4, nên bài đăng GIF tải xuống thành video không tiếng — đúng thứ nền tảng đã lưu. Những bài mà video duy nhất là một buổi phát trực tiếp, hoặc X không trả về MP4 đã ghép nào, sẽ trả lời no_video.
Các nhãn được dựng thế nào
- Nếu URL của tệp ghi kích thước khung (
…/1280x720/…), nhãn là kích thước đó. - Nếu không, nhãn là tốc độ bit làm tròn tới kbps.
- Nếu cả hai đều không có, dòng chỉ ghi
MP4. - Các dòng được sắp theo chiều rộng, rộng nhất trước — không theo tốc độ bit.
Điểm cuối cùng đó quan trọng. Các bản dựng của X không phải một thang đều: một bài có thể chứa tệp 1280 pixel ở tốc độ bit thấp và tệp 720 pixel ở tốc độ bit cao hơn nhiều. Tệp rộng hơn trông lớn hơn trên màn hình; tệp nhỏ hơn có thể trông đẹp hơn khi chuyển động, vì mỗi điểm ảnh được dành nhiều bit hơn.
Một so sánh cụ thể
| Dòng | Khung | Phù hợp với gì |
|---|---|---|
| 1280×720 ở tốc độ bit thấp | Khung rộng, ít dữ liệu mỗi điểm ảnh | Màn hình cần trọn khung và chấp nhận chuyển động mềm. |
| 720×720 ở tốc độ bit cao | Khung vuông, nhiều dữ liệu mỗi điểm ảnh | Chuyển động và chi tiết sạch hơn, nhưng hình nhỏ hơn. |
| 480×270 (bản cắt cho di động) | Khung nhỏ | Bản duy nhất mà một số bài cũ có; chấp nhận kích thước hoặc bỏ qua. |
Một quy tắc thực dụng: chọn dòng rộng nhất trừ khi nó trông mờ nhòe rõ rệt so với dòng kế tiếp. Khi phân vân, hãy tải hai bản và so kích thước tệp — một tệp nặng gấp đôi ở nửa kích thước khung là đang dồn bit cho chuyển động và chi tiết.
Vì sao tải xuống là một lần chuyển hướng, không phải thanh tiến trình
Các tệp video nằm trên video.twimg.com, nơi không gửi tiêu đề CORS cho kiểu yêu cầu này. Trang không thể đọc các byte bằng script, nên nút tải xuống mở thẳng liên kết CDN và trình duyệt của bạn lưu tệp. Điểm được là không có phần nào của video đi qua trang này; điểm mất là không có bộ đếm phần trăm.
Những gì không tải được
Tài khoản được bảo vệ, bài đăng đã xóa và bài giới hạn độ tuổi trả về lỗi, vì chính X ẩn chúng khỏi người đọc ẩn danh. Bộ xử lý không bao giờ đăng nhập và không vượt qua điều đó. Cũng không thể dán riêng URL video.twimg.com — bộ xử lý bắt đầu từ liên kết bài đăng, vì chỉ payload của bài mới ghi tên các bản dựng.
Bản tóm tắt ngắn
- Các dòng được sắp theo chiều rộng khung, không theo chất lượng.
- Hai bản dựng có thể cùng độ phân giải mà khác tốc độ bit; tệp nặng hơn thường trông đẹp hơn.
- Bài đăng GIF đến dưới dạng tệp MP4, vì đó là thứ X đã lưu.
- Chỉ bài đăng công khai — bài được bảo vệ và đã xóa vẫn bị ẩn.
- Không lưu trữ hay mã hóa lại; tệp đến thẳng từ CDN của X.
Câu hỏi
Vì sao dòng cao nhất không trông đẹp nhất?
Vì danh sách được sắp theo chiều rộng khung, mà khung rộng hơn không nhất thiết là tệp nặng hơn. Nếu một dòng nhỏ hơn mang nhiều bit hơn mỗi điểm ảnh, nó có thể trông sạch hơn khi chuyển động. Hãy so kích thước tệp trước khi cho rằng dòng đầu thắng.
Tôi có tải được video từ tài khoản X được bảo vệ không?
Không. X không để người đọc ẩn danh xem bài được bảo vệ, và công cụ này không đăng nhập hay vượt qua điều đó. Chỉ bài công khai mới xử lý được.
Vì sao không có thanh tiến trình cho bản tải từ X?
`video.twimg.com` không gửi tiêu đề CORS, nên trang không đọc được byte video. Nút chuyển hướng tới liên kết CDN và trình duyệt của bạn tự tải tệp.