如何在windows和osx的python2.7中向时间码字符串添加反斜杠

2024-09-28 22:06:13 发布

您现在位置:Python中文网/ 问答频道 /正文

要在ffmpeg中创建烧录时间码,命令行上需要两个转义反斜杠,如下所示:

00\\:00\\:00\\:00

使用ffprobe查找起始时间码将生成以下带有子进程输出的输出

^{pr2}$

我使用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

Tags: 命令行过滤器内容进程libraryffmpegtimecode时间码
1条回答
网友
1楼 · 发布于 2024-09-28 22:06:13

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

相关问题 更多 >