mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-11-04 00:25:15 +00:00 
			
		
		
		
	[utils] Support 'dur' field in TTML
This commit is contained in:
		@@ -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>'''
 | 
			
		||||
 
 | 
			
		||||
@@ -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)
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user