python - Moviepy 扭曲连接(纵向)视频
问题描述
尝试使用moviepy库连接我用手机拍摄的各种“肖像”视频。但由于某种原因,结果是视频失真。作为一个测试案例,我什至尝试读取一个视频剪辑并使用 concatenate_videoclips 方法重新编写它,但它仍然会产生失真的结果。
这是用我的手机拍摄的测试视频的示例帧(磁盘分辨率:1920 x 1080,显然包括黑色背景):
这是从输出视频中捕获的同一帧(分辨率保持在 1920 x 1080 但没有黑色背景 => 失真图像):
这是我使用的(非常简单的)代码片段:
from moviepy.editor import VideoFileClip, concatenate_videoclips
video_0 = VideoFileClip("test_vid.mp4")
concatenated_clip = concatenate_videoclips([video_0], method="compose") # same result if method="chain"
concatenated_clip.write_videofile("test_vid_concat.mp4")
我无法弄清楚问题是什么。
解决方案
这是moviepy
版本中的一个错误1.0.3
:ffmpeg 阅读器不会将旋转元数据考虑到手机上捕获的视频。该错误记录在:
以及今年 5 月在master
分支上提供的修复:
版本1.0.3
仍然是 PyPI 上的最新版本(即由 安装的版本pip
),因此您需要安装 master 分支(git clone
repo 并py setup.py install
在源文件夹中运行)才能获得修复。
我遇到了同样的问题,安装主分支为我修复了它。
预先警告:moviepy
仍然很过时。它依赖于numpy == 1.20
,因此您将不得不使用许多较旧的软件包。我强烈建议安装在虚拟环境中。
推荐阅读
- python - 无法在 Pycharm 上正确运行 PySpark
- python - 来自 ShapRFECV 包的最佳估计器
- java - 使用不同参数解析的 Java 字符串
- system-verilog - 为什么 SystemVerilog 中的 typedef 不允许有线或信号类型(wor)
- c# - 为什么我无法将整个 excel 表读取到 Datatable varialbe(dtExcelData)
- algorithm - 如何用大师定理求解递推关系 T(n) = 8T(n/2) + 1000 n2
- python - 基于条件的颜色numpy 2-dim数组
- jenkins - 在本地使用 GitLab Webhooks 和 Jenkins
- sql - 如何将 ORDER BY 与由不同聚合函数创建的 2 列一起使用
- integration - 错误:nutanix_openstack.vnc.wsgi_prism_websocket_proxy:使用 Prism 进行身份验证成功,但没有 JSESSIONID [OpenStack + Nutanix 集成]