【问题标题】:Video created with opencv, not playable in android使用opencv创建的视频,无法在android中播放
【发布时间】:2019-07-12 21:57:35
【问题描述】:

我正在使用 python 脚本从 .png 文件创建一个简单的视频。创建的视频在我的电脑上播放良好,但我想将它发送到一些安卓设备(例如使用 Whatsapp)并在那里播放。但我无法找到任何工作的编解码器。当然,我可以在 android 上安装 VLC,但我喜欢在没有其他应用程序的情况下播放它。

请看我的源代码。

frame = cv2.imread(path.join(directory, images[0]))
height, width, layers = frame.shape
video = cv2.VideoWriter(directory + "/test.avi", cv2.VideoWriter.fourcc('M', 'J', 'P', 'G'), 5, (width,height))

for image in images:
    video.write(cv2.imread(path.join(directory, image)))

到目前为止,我尝试了 .avi 和 .mp4 结尾、MJPG、DIVX 和一些我不记得了。我正在使用 pycharm 和 python3 venv 在 Windows 系统上工作,我在其中安装了 cv2 和 pycharm。 我也用 H264 试过,但缺少一个 dll 文件。我下载了它,但是当我将文件复制到我的项目或 venv 文件夹中的 cv2 文件夹中时它不起作用。

也许有人有一个简单的解决方案来解决这个问题。 谢谢!

【问题讨论】:

  • Motion JPEG 不是natively supported Android codec。使用您尝试过的编解码器以及您在哪个平台上进行编码(Windows/Linux/Mac)更新您的问题。
  • 我已经添加了缺失的信息。感谢您的安卓列表。有关 H264 的问题,请参见上文。

标签: android python opencv


【解决方案1】:

我解决了。感谢@Morrison Chang 的列表。 H264 是正确的编解码器。提供的 .dll 文件必须与执行的“python.exe”所在的位置相同。

【讨论】:

    猜你喜欢
    • 2023-01-04
    • 2015-03-27
    • 1970-01-01
    • 1970-01-01
    • 2015-04-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-21
    相关资源
    最近更新 更多