如何解决将单个 png 文件转换为 mp4
我正在尝试找到一种将单个 png 图像转换为具有指定长度的 mp4 文件的方法。在尝试制作更长(多个小时)的视频时,我发现的解决方案缓慢且不可靠。
这是我目前在 Python 3 中的解决方案:
true
基本上相同的图像被附加多次以组成视频,我发现合并非常费力,因此将 fps 设置为 0.1 秒。
解决方法
你会喜欢 PyAV。它是 ffmpeg 库的适当包装器,而不是您在随机 Python 包中发现的常见 subprocess
杂项。
它有一个示例,其中帧是用自定义的演示时间戳而不是固定的帧速率写入的。由于 ffmpeg 没有在他们自己的文档中明确说明这些事情,数学/用法有点模糊。
基本上你设置了 av.VideoFrame.pts
,就是这样。
https://github.com/PyAV-Org/PyAV/blob/main/examples/numpy/generate_video_with_pts.py
请务必理解,帧间隔时间异常长的视频对于某些视频播放器来说可能是一个挑战,至少在尝试搜索而不是按顺序播放时是这样。
OpenCV 不是媒体库。其视频 I/O 功能旨在和设计为方便而不是灵活。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。