使用ffmpeg在每个帧中显示特定字符串
我正在从一组像这样的图像中创建一个视频使用ffmpeg在每个帧中显示特定字符串,ffmpeg,Ffmpeg,我正在从一组像这样的图像中创建一个视频 ffmpeg -f concat -safe 0 -r 1 -i video_file.txt -crf 0 video_file.mkv 其中video_file.txt包含图像的文件路径,如下所示: file '/path/to/image1.tif' duration 0.5 file_packet_metadata name=image1_name file '/path/to/image2.tif'
ffmpeg -f concat -safe 0 -r 1 -i video_file.txt -crf 0 video_file.mkv
其中video_file.txt包含图像的文件路径,如下所示:
file '/path/to/image1.tif'
duration 0.5
file_packet_metadata name=image1_name
file '/path/to/image2.tif'
duration 0.5
file_packet_metadata name=image2_name
...
Concat读取以文件“…”开头的所有行,并正确创建输出视频
我希望在屏幕上显示每个帧的特定字符串,例如文件名或其一部分
我尝试了不同的选择,但都没有成功:
-vf drawtext=textfile='path/to/frame.txt
添加到ffmpeg命令
- 其中frame.txt在每一行中包含我想要的每一帧的文本
- 此操作失败,因为文件中的整个文本显示在每个帧上
-vf drawtext=text=%{metadata\\\:name}
以读取video_file.txt中的元数据名称=image1_名称
- 这只是在输出中显示字符串“name}”
- 我尝试了{metadata\:name}、{metadata:name}和{metadata:name}
如何为每个帧显示特定的字符串?这只是转义的问题,前提是您的ffmpeg足够新。再见,谢谢你,吉安。这确实是我找到我发布的第二个解决方案的来源。但出于某种原因,它对我不起作用。我尝试了{metadata\\\:name}、{metadata\:name}和{metadata:name}。我更新了我的帖子。我已经用ffmpeg版本4.1.3Ok解决了这个问题。这确实是一个“逃跑问题”。因为我使用python连接字符串,所以需要在创建命令字符串时转义“when-creating-command-string.right命令必须是-vf”drawtext=text='{metadata \:name}'”,并使用正确的单引号和双引号,如中所示