发布网友 发布时间:2024-10-24 00:26
共1个回答
热心网友 时间:2024-10-28 00:02
在开发一个图片转短视频的程序时,我遇到了一个问题:使用ffmpeg的concat demuxer将图片与视频拼接,并添加字幕时,字幕时间与图片播放时长未能正确对齐。原本的图片和txt文件配置看似顺利,但在播放输出.mp4时,最后一张图片只显示一帧就结束,视频时长与图片总duration不符。
在搜索解决方案时,我找到了一个类似问题的回答,建议在filelist.txt中将最后一张图片的路径重复添加,以确保时长计算无误。实践这个方法后,图片播放时长终于与预期一致。
接着,我尝试在拼接视频上添加字幕,按照ffmpeg文档设置了文本参数。然而,字幕的实际显示时间与预期不符,尽管最初怀疑是drawtext filter的参数设置问题,但在测试正常视频时,发现正常工作。这使我怀疑可能与拼接图片生成的视频的特性有关。
在video forum 的讨论中,我了解到,由于拼接图片的视频与正常视频在时间粒度(granularity)上有所不同,导致时间对齐问题。一个解决办法是,在video filter中增加fps(帧率)参数,将其设置为25,这样解决了字幕时间与图片播放时长的对齐问题。