【问题标题】:Upload a picture to generate a video with special effects上传图片生成特效视频
【发布时间】:2020-02-25 16:36:23
【问题描述】:

我被一个视频处理功能卡住了,具体来说,就是上传一张图片,然后根据各种视频模板生成一个视频。

以下是视频模板:

  1. http://video-static.biku8.com/data/video/template/3286012076458048/7437ab55-2e83-4a36-9046-5708fcddf4c1.mp4
  2. http://video-static.biku8.com/data/video/template/3274256089907264/ae8fa3f7-6c9c-45ca-810f-48db92cc14cb.mp4
  3. http://video-static.biku8.com/data/video/template/3213894231425088/bf107d439b9043a58c1ea0ba26f811db_template.mp4
  4. ...

如上面的视频模板所示,我只需要上传一张照片就可以生成一个很棒的视频。

我的问题

  1. 实施此视频的具体想法是什么?
  2. 需要哪些第三方库? (ffmpeg, opencv)

PS:我正在使用 dlib 和 opencv 进行人脸识别。我可以生成人脸图像,但我不知道如何将人脸图像插入这些模板视频的正确位置。

【问题讨论】:

    标签: image opencv video ffmpeg video-processing


    【解决方案1】:

    生成像他们这样的视频都不是一件容易的事。如果您不需要通过单个程序或程序语言生成它,我建议使用 Adob​​e After Effects 或其他视频创建软件(带有一些脚本和操作)。

    然后,当您需要以编程方式生成它时,我会在下面回答它们。

    对于第一个,您应该识别面部和骨骼。所以你应该使用 OpenCV。 (我推荐使用 OpenFrameworks 或 TouchDesigner 等工具。)

    对于第二个,我不知道你到底想要什么,但是如果你想动态识别瓶子的位置,你必须使用深度学习或其他方式来检测它。那么你可能需要 TensorFlow 或 OpenCV。 (如果只想合并图层,可以使用ffmpeg等)

    对于最后一个,您应该将视频帧拆分为框,然后您必须进行控制。我认为有很多方法可以实现这一点。我可能会使用 OpenFrameworks、TouchDesigner、vvvv 或 Processing。

    我认为不建议为他们使用ffmpeg。该工具不是生成复杂视频的最佳工具。但是ffmpeg 会很好,例如,如果您只是将两个带有 alpha 的视频合并。

    【讨论】:

    • 我正在使用 dlib 和 opencv 进行人脸识别。我可以生成人脸图像,但我不知道如何将人脸图像插入这些模板视频的正确位置。深度学习对我来说太重了。在这里使用深度学习是不是有点矫枉过正?
    • 你刚才提到你可以用AE来做这些。有没有办法以编程方式调用 AE?
    • 我想,你应该把这个问题分成每个问题。因为用一个组合的答案来回答它们太难了。如果您的问题正是“如何将模板插入面部位置”,那么您将从其他用户那里得到更明确的答案:)
    • 对不起,我刚刚看了你的PS。我将通过创建另一个来回答它。
    【解决方案2】:

    我建议您按照以下 3 个步骤进行操作

    1. 通过opencv加载模板视频,可以逐帧访问视频
    2. 逐帧修改。
    3. 将帧保存到视频流写入器

    关于第2步,实际上,您必须通过掩码将上传的图像复制到每一帧(如果掩码上的坐标为非黑色,则源图像中的像素将被复制到目标图像)。掩码可以由点列表或图像定义。您应该为文件中的每一帧预先定义一个掩码。然后为每一帧加载蒙版并复制。

    如何阅读视频,保存视频OpenCV read-write Video

    如何将图像插入到另一个图像Copy non rectangular ROI

    【讨论】:

    • 你说的很清楚了,但是视频的蒙版是怎么做的?有什么工具可以用吗?
    • 另外,如果并发高,那么耗时的任务怎么处理。
    • 可以用显卡加速吗?
    猜你喜欢
    • 2010-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-27
    • 2015-05-17
    • 1970-01-01
    • 1970-01-01
    • 2018-06-06
    相关资源
    最近更新 更多