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

ffmpeg concat video size smaller than original videos

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

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

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

1
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

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

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
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


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

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

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