如何在 python 2.7 in windows 和 osx 中向时间码字符串添加反斜杠
How to add backslashes to timecode string in python 2.7 in windows and osx
要在 ffmpeg 中创建时间码,需要在命令行中使用两个转义反斜杠,如下所示:
00\:00\:00\:00
使用 ffprobe 查找起始时间码会产生以下带有 subprocess_output
的输出
00:00:00:00\n
我正在使用 rstrip()
删除新行,但我如何创建一个新变量,我可以将其传递给 ffmpeg 的过滤器链,以添加那些转义反斜杠?
我最终需要我的命令行扩展成这样:
-vf 'drawtext=fontfile=/Library/Fonts/Tuffy.ttf:fontcolor=white:timecode=00\:00\:00\:00:rate=25:boxcolor=0x000000AA:box=1:fontsize=40:x=360-text_w/2:y=405'
当然在我的脚本中,它只会包含
timecode=%s
通过使用 replace
函数,您可以做到这一点,然后使用 os.system
执行程序。
In[4]: a = '00:00:00:00\n'
In[5]: a
Out[5]: '00:00:00:00\n'
In[6]: a = r'00:00:00:00\n'
In[7]: b = 'drawtext=fontfile' \
'=/Library/Fonts/Tuffy.ttf:fontcolor=white:' \
'timecode=%s:rate=25:' \
'boxcolor=0x000000AA:box=1:fontsize=40:x=360- text_w/2:y=405'%a.replace(':', '\:').replace('\n', '')
In[8]: b
Out[8]:'drawtext=fontfile=/Library/Fonts/Tuffy.ttf:fontcolor=white:timecode=00\:00\:00\:00\n:rate=25:boxcolor=0x000000AA:box=1:fontsize=40:x=360- text_w/2:y=405'
要在 ffmpeg 中创建时间码,需要在命令行中使用两个转义反斜杠,如下所示:
00\:00\:00\:00
使用 ffprobe 查找起始时间码会产生以下带有 subprocess_output
的输出00:00:00:00\n
我正在使用 rstrip()
删除新行,但我如何创建一个新变量,我可以将其传递给 ffmpeg 的过滤器链,以添加那些转义反斜杠?
我最终需要我的命令行扩展成这样:
-vf 'drawtext=fontfile=/Library/Fonts/Tuffy.ttf:fontcolor=white:timecode=00\:00\:00\:00:rate=25:boxcolor=0x000000AA:box=1:fontsize=40:x=360-text_w/2:y=405'
当然在我的脚本中,它只会包含
timecode=%s
通过使用 replace
函数,您可以做到这一点,然后使用 os.system
执行程序。
In[4]: a = '00:00:00:00\n'
In[5]: a
Out[5]: '00:00:00:00\n'
In[6]: a = r'00:00:00:00\n'
In[7]: b = 'drawtext=fontfile' \
'=/Library/Fonts/Tuffy.ttf:fontcolor=white:' \
'timecode=%s:rate=25:' \
'boxcolor=0x000000AA:box=1:fontsize=40:x=360- text_w/2:y=405'%a.replace(':', '\:').replace('\n', '')
In[8]: b
Out[8]:'drawtext=fontfile=/Library/Fonts/Tuffy.ttf:fontcolor=white:timecode=00\:00\:00\:00\n:rate=25:boxcolor=0x000000AA:box=1:fontsize=40:x=360- text_w/2:y=405'