gpt4 book ai didi

ubuntu - 将视频展开(延长)到特定时长

转载 作者:行者123 更新时间:2023-12-04 23:23:15 27 4
gpt4 key购买 nike

关闭。这个问题是off-topic .它目前不接受答案。












想改进这个问题? Update the question所以它是on-topic对于堆栈溢出。


9年前关闭。







Improve this question




VLCFFmpeg (或 AVconv )有任何功能可以将视频的持续时间强制为一定的秒数?

假设我有一个...... 5 分钟的 .mp4 视频(无音频)。有没有办法让上述任何工具将视频“扩展”到更长的持续时间?该视频来自 Power Point 幻灯片,但它太短(运行速度太快,不能这么说)。这个想法将自动插入帧,使其达到指定的持续时间。它看起来很可行(呃……对于像我这样的视频编码/转码新手来说):一个 5 分钟的视频,30fps 意味着我有 9000 帧……为了让它长 10 倍,得到第一个“真实”帧,复制十次,然后得到第二个“真实”帧,复制十次……以此类推。

我使用的是 Ubuntu 12.04,但如果需要,我可以安装/编译任何所需的软件。到目前为止,我有 VLC、AVConv 和 FFmpeg(FFmpeg 在特定文件夹中,所以它不会与 AVConv 冲突)

先感谢您。

最佳答案

ffmpeg 中使用 setpts video filter。简单的例子:

  • 慢速(半速):setpts=PTS*2setpts=PTS/0.5
  • 快速 (2x):setpts=PTS/2setpts=PTS*0.5

  • 视频速度提升 10 倍
    ffmpeg -i input.mp4 -filter_complex "setpts=PTS/10" output.mp4
    音频和视频速度提高 10 倍
    对于音频,请使用 atemporubberbandasetrate 音频过滤器。
    ffmpeg -i input.mp4 -filter_complex "[0:v]setpts=PTS/10[v];[0:a]atempo=10[a]" -map "[v]" -map "[a]" output.mp4
    匹配视频到音频的持续时间
    在此示例中, audio.wav 持续时间为 30 秒, video.mp4 为 90 秒。
  • Get the duration 的音视频文件:
     ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 audio.wav
    ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 video.mp4
  • 使用 setpts 视频过滤器调整视频的持续时间以匹配音频持续时间。
     ffmpeg -i video.mp4 -i audio.wav -filter_complex "[0:v]setpts=PTS*30/90[v]" -map "[v]" -map 1:a -shortest output.mp4

  • 使视频适合特定时间
    在此示例中,输入为 120 秒。所需的输出为 30 秒:
  • Get the duration 输入文件:
    ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 input.mp4
  • 使用 setptsatempo (或 rubberband )过滤器:
    ffmpeg -i input.mp4 -filter_complex "setpts=PTS/(120/30);atempo=120/30" output.mp4
  • 关于ubuntu - 将视频展开(延长)到特定时长,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60172729/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com