Greasy Fork

Greasy Fork is available in English.

X/Twitter 媒体批量下载器 (支持 iPhone/Android)

一键下载 X/Twitter 的图片、视频和 GIF,默认设置下以用户 ID 和帖子 ID 保存。您可以自定义下载文件的文件名。在 iPhone/Android 上,通过使用 ZIP 文件,您还可以一键下载附加的媒体。下载历史记录与书签同步。此外,可以选择利用 X/Twitter 的书签功能来实现在线同步下载历史记录。

< 脚本 X/Twitter 媒体批量下载器 (支持 iPhone/Android) 的反馈

评价:好评 - 脚本运行良好

§
发布于:2025-07-27

Twitter broke something with their video and audio muxer that messed the moov atoms, now every video that was downloaded from june 23rd (at least I noticed it was since then) have audio and video that don't sync, and freezing frames

https://www.reddit.com/r/Twitter/comments/1lqj32t/anyones_third_party_downloaded_videos_freezing/

So far the only solutions are to run the videos through a compressor like uncut or sony vegas 17, you convert mp4 to mp4 as funny as it sounds it also works but it increases file size a little bit, If you use K-Lite Codec Pack thier built-in player MPC-HC can play the videos fixed so no need to do anything there, cuz their filters can sync them again. Another solution is to use FFmpeg, either you have it installed or from here "https://ffmpeg-online.vercel.app/?inputOptions=-i&output=output.mp4&outputOptions=", this also will increase the file size a little bit.

The most painful one is to re-download the videos again using yt-dlp, doing this won't increase the file size.

So until either the extensions work again or Twitter puts it shit together, these are what we can do.

I used this command in ffmpeg ""ffmpeg -v debug -i file.mp4 -f null - " on one of my affected videos, these were the results: https://files.catbox.moe/eed0wd.txt

So far all media players with the exception of MPC-HC and webbrowsers are having this bug. WMP(32 and 64), Media Player, ACG Player, VCL, Microsoft Photos, etc.

Also uploading the vidoes to other social media, like whatsapp, twitter itself, discord, all video uploaded there play normal as well. The core issue are the everyday players I mentioned above, but then again, Twitter is in fact giving badly muxed videos to the downloading tools.

[AVFormatContext @ 000001843bb82080] Opening 'User-ID-20250726_092335-vid1.mp4' for reading
[file @ 000001843bb7a240] Setting default whitelist 'file,crypto,data'
[mov,mp4,m4a,3gp,3g2,mj2 @ 000001843bb82080] Format mov,mp4,m4a,3gp,3g2,mj2 probed with size=2048 and score=100
[mov,mp4,m4a,3gp,3g2,mj2 @ 000001843bb82080] ISO: File Type Major Brand: isom
[mov,mp4,m4a,3gp,3g2,mj2 @ 000001843bb82080] Unknown dref type 0x206c7275 size 12
[mov,mp4,m4a,3gp,3g2,mj2 @ 000001843bb82080] Processing st: 0, edit list 0 - media time: 4608000, duration: 33792049
[mov,mp4,m4a,3gp,3g2,mj2 @ 000001843bb82080] Offset DTS by 4608000 to make first pts zero.
[mov,mp4,m4a,3gp,3g2,mj2 @ 000001843bb82080] Setting codecpar->delay to 2 for stream st: 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 000001843bb82080] Unknown dref type 0x206c7275 size 12
[mov,mp4,m4a,3gp,3g2,mj2 @ 000001843bb82080] Before avformat_find_stream_info() pos: 3490170 bytes read:32826 seeks:1 nb_streams:2
[h264 @ 000001843bbdb080] nal_unit_type: 7(SPS), nal_ref_idc: 3
[h264 @ 000001843bbdb080] Decoding VUI
[h264 @ 000001843bbdb080] nal_unit_type: 8(PPS), nal_ref_idc: 3

Every video there is a delay where the music/sounds starts from 0 but the pictures don't, after 6 seconds, sometimes 7, "no picture" is repeated several times throught the analysis file, which explains why the frames are freezing or messed up. It has 0 decode errors tho, so the splitters and decoders ain't the issue.

azuki_0306作者
§
发布于:2025-07-28

Thank you for your detailed feedback.
I really appreciate the time you took to investigate the issue and share the FFmpeg logs. It clearly shows that the problem is caused by Twitter’s recent changes to their video muxing, not by the script itself. Your explanation and suggested solutions are very helpful for other users as well.

§
发布于:2025-07-28

No problem!

发布留言

登录以发布留言。