Add support for mp4 videos

This commit is contained in:
Zed
2019-06-29 07:45:36 +02:00
parent b31338dcc7
commit ff01ab61d1
4 changed files with 62 additions and 51 deletions

View File

@@ -111,26 +111,28 @@ proc parseConversation*(node: XmlNode): Conversation =
result.replies.add parseTweets(thread)
proc parseVideo*(node: JsonNode): Video =
let track = node{"track"}
let contentType = track["contentType"].to(string)
let
track = node{"track"}
cType = track["contentType"].to(string)
pType = track["playbackType"].to(string)
case contentType
case cType
of "media_entity":
result = Video(
contentType: m3u8,
thumb: node["posterImage"].to(string),
id: track["contentId"].to(string),
length: track["durationMs"].to(int),
playbackType: if "mp4" in pType: mp4 else: m3u8,
contentId: track["contentId"].to(string),
durationMs: track["durationMs"].to(int),
views: track["viewCount"].to(string),
url: track["playbackUrl"].to(string),
available: track{"mediaAvailability"}["status"].to(string) == "available"
)
of "vmap":
result = Video(
contentType: vmap,
thumb: node["posterImage"].to(string),
url: track["vmapUrl"].to(string),
length: track["durationMs"].to(int),
playbackType: vmap,
durationMs: track["durationMs"].to(int),
url: track["vmapUrl"].to(string)
)
else:
echo "Can't parse video of type ", contentType
echo "Can't parse video of type ", cType
result.thumb = node["posterImage"].to(string)