Send correct video size in embed

This commit is contained in:
Dylan 2022-09-20 01:12:21 +01:00
parent 6add65d37b
commit 5f56e2248f
2 changed files with 17 additions and 8 deletions

View File

@ -6,8 +6,8 @@
<meta name="twitter:card" content="player" /> <meta name="twitter:card" content="player" />
<meta name="twitter:title" content="{{ user }} (@{{ screenName }}) {% if verified %}☑️{% else %}{% endif %}" /> <meta name="twitter:title" content="{{ user }} (@{{ screenName }}) {% if verified %}☑️{% else %}{% endif %}" />
<meta name="twitter:image" content="{{ pic }}" /> <meta name="twitter:image" content="{{ pic }}" />
<meta name="twitter:player:width" content="720" /> <meta name="twitter:player:width" content="{{ videoSize['width'] }}" />
<meta name="twitter:player:height" content="480" /> <meta name="twitter:player:height" content="{{ videoSize['height'] }}" />
<meta name="twitter:player:stream" content="{{ vidurl }}" /> <meta name="twitter:player:stream" content="{{ vidurl }}" />
<meta name="twitter:player:stream:content_type" content="video/mp4" /> <meta name="twitter:player:stream:content_type" content="video/mp4" />
@ -15,8 +15,8 @@
<meta property="og:video" content="{{ vidurl }}" /> <meta property="og:video" content="{{ vidurl }}" />
<meta property="og:video:secure_url" content="{{ vidurl }}" /> <meta property="og:video:secure_url" content="{{ vidurl }}" />
<meta property="og:video:type" content="video/mp4" /> <meta property="og:video:type" content="video/mp4" />
<meta property="og:video:width" content="720" /> <meta property="og:video:width" content="{{ videoSize['width'] }}" />
<meta property="og:video:height" content="480" /> <meta property="og:video:height" content="{{ videoSize['height'] }}" />
<meta name="twitter:title" content="{{ user }} (@{{ screenName }}) {% if verified %}☑️{% else %}{% endif %}" /> <meta name="twitter:title" content="{{ user }} (@{{ screenName }}) {% if verified %}☑️{% else %}{% endif %}" />
<meta property="og:image" content="{{ pic }}" /> <meta property="og:image" content="{{ pic }}" />
<meta property="og:description" content="{{ desc }}" /> <meta property="og:description" content="{{ desc }}" />

View File

@ -178,6 +178,11 @@ def upgradeVNF(vnf):
# Makes sure any VNF object passed through this has proper fields if they're added in later versions # Makes sure any VNF object passed through this has proper fields if they're added in later versions
if 'verified' not in vnf: if 'verified' not in vnf:
vnf['verified']=False vnf['verified']=False
if 'size' not in vnf:
if vnf['type'] == 'Video':
vnf['size']={'width':720,'height':480}
else:
vnf['size']={}
return vnf return vnf
def getDefaultTTL(): # TTL for deleting items from the database def getDefaultTTL(): # TTL for deleting items from the database
@ -229,7 +234,7 @@ def embed_video(video_link, image=0): # Return Embed from any tweet link
cached_vnf = upgradeVNF(cached_vnf) cached_vnf = upgradeVNF(cached_vnf)
return embed(video_link, cached_vnf, image) return embed(video_link, cached_vnf, image)
def tweetInfo(url, tweet="", desc="", thumb="", uploader="", screen_name="", pfp="", tweetType="", images="", hits=0, likes=0, rts=0, time="", qrt={}, nsfw=False,ttl=None,verified=False): # Return a dict of video info with default values def tweetInfo(url, tweet="", desc="", thumb="", uploader="", screen_name="", pfp="", tweetType="", images="", hits=0, likes=0, rts=0, time="", qrt={}, nsfw=False,ttl=None,verified=False,size={}): # Return a dict of video info with default values
if (ttl==None): if (ttl==None):
ttl = getDefaultTTL() ttl = getDefaultTTL()
vnf = { vnf = {
@ -249,7 +254,8 @@ def tweetInfo(url, tweet="", desc="", thumb="", uploader="", screen_name="", pfp
"qrt" : qrt, "qrt" : qrt,
"nsfw" : nsfw, "nsfw" : nsfw,
"ttl" : ttl, "ttl" : ttl,
"verified" : verified "verified" : verified,
"size" : size
} }
return vnf return vnf
@ -268,6 +274,7 @@ def link_to_vnf_from_tweet_data(tweet,video_link):
if tweet['extended_entities']['media'][0]['video_info']['variants']: if tweet['extended_entities']['media'][0]['video_info']['variants']:
best_bitrate = -1 best_bitrate = -1
thumb = tweet['extended_entities']['media'][0]['media_url'] thumb = tweet['extended_entities']['media'][0]['media_url']
size=tweet['extended_entities']['media'][0]["original_info"]
for video in tweet['extended_entities']['media'][0]['video_info']['variants']: for video in tweet['extended_entities']['media'][0]['video_info']['variants']:
if video['content_type'] == "video/mp4" and video['bitrate'] > best_bitrate: if video['content_type'] == "video/mp4" and video['bitrate'] > best_bitrate:
url = video['url'] url = video['url']
@ -321,7 +328,8 @@ def link_to_vnf_from_tweet_data(tweet,video_link):
qrt=qrt, qrt=qrt,
images=imgs, images=imgs,
nsfw=nsfw, nsfw=nsfw,
verified=tweet['user']['verified'] verified=tweet['user']['verified'],
size=size
) )
return vnf return vnf
@ -382,7 +390,8 @@ def getTemplate(template,vnf,desc,image,video_link,color,urlDesc,urlUser,urlLink
urlDesc = urlDesc, urlDesc = urlDesc,
urlUser = urlUser, urlUser = urlUser,
urlLink = urlLink, urlLink = urlLink,
tweetLink = vnf['tweet'] ) tweetLink = vnf['tweet'],
videoSize = vnf['size'] )
def embed(video_link, vnf, image): def embed(video_link, vnf, image):
print(" ➤ [ E ] Embedding " + vnf['type'] + ": " + vnf['url']) print(" ➤ [ E ] Embedding " + vnf['type'] + ": " + vnf['url'])