要在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'
关于python - 如何在Windows和OSX中的python 2.7中将反斜杠添加到时间码字符串中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33577971/