twitter: fix gif encoding for multi-media tweets

merge pull request #327 from dumbmoron/twitter-multi-gif-fix
This commit is contained in:
wukko 2024-01-19 11:22:16 +06:00 committed by GitHub
commit debe8ba8aa
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 10 additions and 9 deletions

View file

@ -39,7 +39,7 @@ export default async function(host, patternMatch, url, lang, obj) {
r = await twitter({
id: patternMatch.id,
index: patternMatch.index - 1,
toGif: obj.twitterGif
toGif: !!obj.twitterGif
});
break;
case "vk":

View file

@ -114,22 +114,23 @@ export default async function({ id, index, toGif }) {
isGif: media[0].type === "animated_gif"
};
default:
const picker = media.map((video, i) => {
let url = bestQuality(video.video_info.variants);
if (needsFixing(video)) {
const picker = media.map((content, i) => {
let url = bestQuality(content.video_info.variants);
const shouldRenderGif = content.type === 'animated_gif' && toGif;
if (needsFixing(content) || shouldRenderGif) {
url = createStream({
service: 'twitter',
type: 'remux',
type: shouldRenderGif ? 'gif' : 'remux',
u: url,
filename: `twitter_${id}_${i + 1}.mp4`,
isGif: media[0].type === "animated_gif",
toGif: toGif ?? false
filename: `twitter_${id}_${i + 1}.mp4`
})
}
return {
type: 'video',
url,
thumb: video.media_url_https,
thumb: content.media_url_https,
}
});
return { picker };