如何在Windows和osx中的python 2.7中为时间码字符串添加反斜杠

时间:2015-11-07 01:05:25

标签: python regex ffmpeg timecodes

要在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

1 个答案:

答案 0 :(得分:3)

通过使用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'