【问题标题】:ffmpeg copy video in video with a specific timeffmpeg 在特定时间的视频中复制视频
【发布时间】:2017-07-01 15:11:28
【问题描述】:

我是这个主题的新手(初学者),我是德国人......所以找到正确的单词有点困难......

我会尝试解释我做了什么以及我想做什么:

  1. 从PRORES编解码器转换的原始视频中提取视频区域:

    ffmpeg.exe -i test.mkv -ss 00:06:21.99 -t 00:00:01.94 -async 1 -strict -2 -c:v prores_ks -pix_fmt yuva444p10le -profile:v 4444 -bits_per_mb 8000 -s 1920x1080 cut_video.mov

  2. 在 After Effects 中编辑剪辑

  3. 在 Matroska 中转换 PRORES

    ffmpeg.exe -i "C:\Users\Alex\Desktop\ffmpeg-20170202-08b0981-win64-static\bin\cut_video\cut_video.mov" -vcodec ffv1 -acodec pcm_s16le temp.mkv

  4. 替换原视频文件中00:06:21.99时的视频区域...

我为这两个命令花了 4 个小时... 所以我对第四步感到绝望。可能吗?你能帮助我吗?

我做了一张图片,这样你就可以更好地了解我在做什么......:http://i.imgur.com/HqlNxzW.jpg

来自德国的问候,

亚历克斯

【问题讨论】:

    标签: video ffmpeg


    【解决方案1】:

    您可以跳过第 3 步,将编辑后的文件与原始文件合并。

    您可以使用修剪和连续过滤器的组合或使用叠加过滤器来完成此操作。我将在这里展示叠加层的使用。

    ffmpeg -i full.mkv -i AE-edit.mov -filter_complex "[1]setpts=PTS-STARTPTS+381.99/TB[ae];[0][ae]overlay=enable='gte(t,381.99)':shortest=1[v]" -c:a copy -map "[v]" -map 0:a out.mkv
    

    381.99 是修剪的开始时间,以秒为单位。确保编辑后的文件具有与完整文件相同的分辨率和帧速率,否则将需要更多过滤器,这会使事情复杂化。验证开始时间是否准确。目前,它看起来并不准确,除非您正在处理 100+ fps 视频,.99 结尾不会标记视频帧的呈现时间。 (25 fps 视频的帧从 .00、.04、.08..等开始)

    【讨论】:

    • 非常感谢! :) 我现在的问题是,ffmpeg 使用了我 100% 的内存(32GB)。这冻结了我的电脑。两个视频的帧率均为 23.976216 (23.976)
    • 你的视频有多长?
    • 时长约为 23 分钟 (23:42),文件大小为 1.98 GB。
    猜你喜欢
    • 2018-08-28
    • 2021-09-21
    • 2019-05-30
    • 1970-01-01
    • 1970-01-01
    • 2021-03-14
    • 2018-05-30
    • 2018-06-18
    • 1970-01-01
    相关资源
    最近更新 更多