aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYen Chi Hsuan <yan12125@gmail.com>2015-05-12 12:47:37 +0800
committerYen Chi Hsuan <yan12125@gmail.com>2015-05-12 12:47:37 +0800
commit7dff03636a843a6990e52200edb3ecca1246b3df (patch)
tree92f9fc995b4b806f0ad580da7f6fbd101d99d6f5
parent5332fd91bf16867b6777bd6cfd0b5086f84112c5 (diff)
[utils] Support 'dur' field in TTML
-rw-r--r--test/test_utils.py2
-rw-r--r--youtube_dl/utils.py8
2 files changed, 7 insertions, 3 deletions
diff --git a/test/test_utils.py b/test/test_utils.py
index 86b110a7d..b40107037 100644
--- a/test/test_utils.py
+++ b/test/test_utils.py
@@ -600,7 +600,7 @@ ffmpeg version 2.4.4 Copyright (c) 2000-2014 the FFmpeg ...'''), '2.4.4')
<div xml:lang="en">
<p begin="0" end="1">The following line contains Chinese characters and special symbols</p>
<p begin="1" end="2">第二行<br/>♪♪</p>
- <p begin="2" end="3"><span>Third<br/>Line</span></p>
+ <p begin="2" dur="1"><span>Third<br/>Line</span></p>
</div>
</body>
</tt>'''
diff --git a/youtube_dl/utils.py b/youtube_dl/utils.py
index d73efcf25..5439fcb35 100644
--- a/youtube_dl/utils.py
+++ b/youtube_dl/utils.py
@@ -1866,10 +1866,14 @@ def dfxp2srt(dfxp_data):
paras = dfxp.findall(_x('.//ttml:p'))
for para, index in zip(paras, itertools.count(1)):
+ begin_time = parse_dfxp_time_expr(para.attrib['begin'])
+ end_time = parse_dfxp_time_expr(para.attrib.get('end'))
+ if not end_time:
+ end_time = begin_time + parse_dfxp_time_expr(para.attrib['dur'])
out.append('%d\n%s --> %s\n%s\n\n' % (
index,
- format_srt_time(parse_dfxp_time_expr(para.attrib.get('begin'))),
- format_srt_time(parse_dfxp_time_expr(para.attrib.get('end'))),
+ format_srt_time(begin_time),
+ format_srt_time(end_time),
parse_node(para)))
return ''.join(out)