Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ubuntu 将视频扩展到特定的持续时间_Ubuntu_Video_Ffmpeg_Vlc_Transcoding - Fatal编程技术网

Ubuntu 将视频扩展到特定的持续时间

Ubuntu 将视频扩展到特定的持续时间,ubuntu,video,ffmpeg,vlc,transcoding,Ubuntu,Video,Ffmpeg,Vlc,Transcoding,或(或)是否具有将视频持续时间强制为特定秒数的功能 假设我有一个。。。5分钟。mp4视频(无音频)。有没有办法让上述工具将视频“扩展”到更长的持续时间?该视频来自Power Point幻灯片,但它太短(可以说运行速度太快)。这个想法是自动插入帧,使其达到指定的持续时间。这看起来很可行(呃……对于像我这样的视频编码/转码新手来说):一个5分钟的视频,每秒30帧意味着我有9000帧。。。要使其更长10倍,请获取第一个“真实”帧,复制十次,然后获取第二个“真实”帧,复制十次。。。等等 我使用的是Ubu

或(或)是否具有将视频持续时间强制为特定秒数的功能

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

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

提前谢谢。

使用
ffmpeg
中的。简单的例子:

  • 慢速(半速):
    setpts=PTS*2
    setpts=PTS/0.5
  • 快速(2x):
    setpts=PTS/2
    setpts=PTS*0.5
视频速度提高10倍 音频和视频速度均提高10倍 对于音频,请使用或音频过滤器

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秒

  • 音频和视频文件的格式:

     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
    
  • 使用视频过滤器调整视频的持续时间以匹配音频持续时间

     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秒:

  • 输入文件的名称:

    ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 input.mp4
    
  • 使用和(或)过滤器:


  • 将来,请在超级用户上询问有关FFmpeg CLI的问题。我投票决定把它迁移到那里。啊,很抱歉。实际上,我想知道堆栈溢出是否是问这个问题的正确地方,因为我看到了“ffmpeg”和“vlc”标记,我认为这是可以的,但感谢您的澄清。所以通常只处理ffmpeg API问题,例如,当与某种编程语言或PHP一起使用时,正如许多人所做的那样。我不知道为什么你的问题没有被迁移,很抱歉。
    ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 input.mp4
    
    ffmpeg -i input.mp4 -filter_complex "setpts=PTS/(120/30);atempo=120/30" output.mp4