ffmpeg concat视频大小小于原始视频

时间:2019-08-23 00:45:07

标签: video ffmpeg

我正在尝试使用ffmpeg合并多个视频,但是concat的输出是原始视频大小的一半。下面是ffmpeg命令,

ffmpeg -f concat -safe 0 -i input.txt -c copy video.mp4

输入文件中的所有视频均已从一个大文件中分离出来,并使用以下命令进行了转换,

ffmpeg -i file1.mp4 -vcodec libx264 -filter_complex "[0:v]scale=1280:720:force_original_aspect_ratio=decrease,pad=1280:720:(ow-iw)/2:(oh-ih)/2[va]" -map "[va]" -strict experimental _file1.mp4

它们没有任何音频流,因此当我尝试连接这些视频时,输出文件的持续时间小于原始视频的总和。

下面是输入文件的元数据,

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'file1.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf58.26.100
    comment         : vid:v09044eb0000bhte9i09pog20dbdosn0
    genre           : aweme_6659292261320329989
  Duration: 00:00:15.12, start: 0.000000, bitrate: 797 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1280x720, 794 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 59.94 tbc (default)
    Metadata:
      handler_name    : VideoHandler


Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'file2.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf58.26.100
    comment         : vid:v09044a50000bjqkic7smmqi0mu76m20
    genre           : aweme_6697675734137228038
  Duration: 00:00:14.60, start: 0.000000, bitrate: 718 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1280x720, 715 kb/s, 30 fps, 30 tbr, 15360 tbn, 60 tbc (default)
    Metadata:
      handler_name    : VideoHandler


Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'file3.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf58.26.100
    comment         : vid:v09044e50000bj0ajcqvfskris7ip2e0
  Duration: 00:00:15.50, start: 0.000000, bitrate: 548 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1280x720, 544 kb/s, 30 fps, 30 tbr, 15360 tbn, 60 tbc (default)
    Metadata:
      handler_name    : VideoHandler

1 个答案:

答案 0 :(得分:2)

所有输入没有相同的时基。第一个拥有30k tbn,而其他一个拥有15360 tbn

使用以下命令转换时基,然后与新文件连接:

ffmpeg -i file2.mp4 -c copy -video_track_timescale 30k file2-30k.mp4