Trình tạo lệnh yt-dlp cho X (Twitter)
Tạo lệnh yt-dlp cho video trên X, với tên file dễ đoán và các tuỳ chọn mà nội dung nhạy cảm yêu cầu.
Lưu ý với X
Cả URL x.com và twitter.com đều dùng được. Thứ mọi người gọi là GIF trên X thực ra là video MP4 ngắn, nên chúng tải như mọi video khác; nếu cần GIF thật thì chuyển đổi sau.
Bài có nội dung nhạy cảm cần phiên đăng nhập đã bật thiết lập tương ứng. Mẫu tên file mặc định đặt theo tác giả và id bài viết, giúp một thư mục nhiều video vẫn dễ tra.
X đã thay đổi diện mạo API của mình mấy lần, và hệ quả thực dụng là các bản sửa extractor cập đến trong bản cập nhật yt-dlp chỉ sau vài ngày — một bản cài hơn vài tuần tuổi chính là nơi đa số báo cáo "X hỏng" thực sự cư trú. Hãy update trước khi debug: yt-dlp -U. Quyền truy cập khách đến rồi đi; khi nó bị rút, phiên đã đăng nhập kèm cookies mới là con đường chạy được, và đó cũng là con đường duy nhất tới nội dung nhạy cảm.
Thread và bài trích dẫn là nơi URL gây rối nhất. Một tweet chứa video thì nhúng video đó; cùng video đó trên tab media của profile lại là một mục riêng. Với cả một tài khoản, URL tab media lấy mọi thứ đăng kèm media, phân trang, và file lưu lịch sử cộng với bỏ qua lỗi xử lý các bài đã xoá mà một tài khoản hoạt động chắc chắn tích tụ dần. Tải từ URL tìm kiếm cố ý không được hỗ trợ ở đây: kết quả trôi giữa các lần request, và file lưu lịch sử đối với một kết quả tìm kiếm đang trôi thì vô nghĩa.
X phục vụ video dưới dạng fragment HLS với phương án dự phòng MP4 trong đa số trường hợp, nên merge là chuyện thường và ffmpeg là dependency cần kiểm tra đầu tiên. Các bài "GIF" là ngoại lệ đáng biết: chúng đến dưới dạng MP4 như mọi thứ khác, và chuyển thành GIF thật về sau là việc của ffmpeg, không phải của yt-dlp — một file WebM lặp vòng thường cũng gần hơn với ý người gửi.
Bài giới hạn tuổi và nội dung nhạy cảm là bức tường cứng: thiết lập nằm trong tài khoản, không nằm trong câu lệnh. Đăng nhập qua trình duyệt một lần, bật thiết lập cho nội dung nhạy cảm, đưa cookies sang, và nó chạy — không có cách nào lách được nếu thiếu cookies, vì X kiểm tra phiên ở phía máy chủ. Bài đã xoá thì như mọi nơi khác: mất là mất, và những mirror từng giữ bản sao cũng đóng cửa từ nhiều năm trước.