当前位置: 首页 > 知识库问答 >
问题:

ffmpeg concat使视频更长

孙朝明
2023-03-14

我有两个视频文件,我想使用ffmpeg配置

initial.mp4视频: h264(高)(avc1/0x31637661), yuv420p(电视),720x720,1077 kb/s,15.98 fps,16 tbr,600 tbns,1200 tbc(默认)

结尾mp4视频:h264(高)(avc1/0x31637661),yuv420p(电视,bt470bg),720x720[SAR 1:1 DAR 1:1],1287kb/s,25fps,25tbr,25k tbn,50tbc(默认值

带结尾的视频说明。txt

file initial.mp4
file initial.mp4
file initial.mp4
file ending.mp4

FFmpeg命令

ffmpeg -f concat -i video_instructions_with_ending.txt -c copy output.mp4 -y

输出mp4视频:h264(高)(avc1/0x31637661)、yuv420p(电视)、720x720、27 kb/s、0.43 fps、48 tbr、19200 tbn、38400 tbc(默认)

输出文件应该是6秒。但是输出文件是3分钟32秒。

任何帮助都将不胜感激

对于我使用的文件,您可以从:这里

共有2个答案

和魁
2023-03-14

结束时运行此命令。mp4然后使用新文件:

ffmpeg -i ending.mp4 -c copy -video_track_timescale 600 newending.mp4

长话短说,时基不同,所以结尾视频延长了。有关时间戳的上下文,请参阅https://stackoverflow.com/a/43337235/5726027

卫仲卿
2023-03-14

我尝试了以下命令,它对我有效

ffmpeg -i initial.mp4 -i initial.mp4 -i initial.mp4 -i ending.mp4 -filter_complex concat=n=4:v=1:a=0 -f MOV output.mp4 -y

说明:FFmpeg有三种方法

  1. concat协议(ffmpeg-i'concat:input1 | input2'-编解码器拷贝输出)。-将其用于二进制concat兼容文件,如avi、mpeg ts文件

第三个选项适合这个场景,因为我们需要重新编码文件。

 类似资料:
  • 问题内容: 我想更新HTML5视频元素中的source标签,以便单击按钮时,无论播放什么内容,都将切换到新视频。 我有一个Clip组件,它返回一个HTML5视频元素,其源URL通过props提供。 我还有一个Movie组件,其中包含多个URL,每个URL对应于电影的一部分。它还包含一个position属性,它通过记住当前正在播放的部分来充当迭代器。 电影组件呈现一个Clip组件和一个“ Next”

  • 我曾尝试使用GStreamer管道将mp4视频转换为avi视频,但它是在没有声音的情况下转换的 gst launch-t-v filesrc location=源。mp4!qtdemux!ffdec\U h264!视频/x-raw-yuv!avimux!filesink location=结果yuv。avi公司

  • 我正在建立一个应用程序,我需要压缩视频之前,上传到服务器。未经压缩的视频约为五分钟,60M,Android视频位2x1024x1024,640*480。现在我正在使用FFMPEG库压缩视频http://androidwarzone.blogspot.co.il/2011/12/ffmpeg4android.html。以下是command commandStr=“ffmpeg-y-i”+url+“-

  • 视频驱动负责实现 LCUI 应用程序与操作系统中的视窗系统的交互,这些交互包括向 LCUI 应用程序提供屏幕尺寸、将组件的信息和渲染结果同步到对应的窗口中,是 LCUI 的几个驱动模块中最为复杂的一个。 表面 表面(Surface)是窗口的抽象,也是 LCUI 的组件与操作系统的窗口进行交互的中间层,它屏蔽了各个操作系统中的视窗操作接口的差异和实现细节,使得 LCUI 应用程序只需要专注于将图形内

  • 拍摄或从手机相册中选择图片或视频 参数 Object object 属性 类型 默认值 必填 说明 count number 9 否 最多可以选择的文件个数 mediaType Array.<string> ['image', 'video'] 否 文件类型 注意:mediaType为枚举值 建议开发者使用时只传一个值 如果传入两个值 优先video sourceType Array.<strin

  • 我试图剪掉我得到的视频的最后8秒;问题是ffmpeg选择了最后10秒,我真的不知道为什么。我查了一下,“0:00:00”和视频的有效开始之间没有偏移,所以为什么要多拍几秒呢? 这是我的代码: 这是输出: ffmpeg版本N-90893-gcae6f806a6版权所有(c)2000-2018 ffmpeg 使用GCC7.3构建的开发人员。0(GCC)配置:-启用gpl --enable-versio