gpt4 book ai didi

video - MP4Box:即使示例描述不匹配,也会连接轨道 ID 1

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

本质上,我希望使用 MP4Box 连接一系列视频。当我尝试这样做时,我收到以下错误:

No suitable destination track found - creating new one (type soun)
0.500 secs Interleaving
我可以通过添加 -force-cat 来绕过这个问题,至少是暂时的。 MP4Box 的参数命令。但是,这会导致音频和视频的对齐问题,并产生以下警告:
Concatenating track ID 1 even though sample descriptions do not match
现在,据我所知,这与视频类型之间的不同参数有关。我将显示 ffprobe下面每种视频类型的输出,希望能对这个问题有所了解。
视频类型 1 FFPROBE 输出:
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '0.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf58.29.100
Duration: 00:00:02.25, start: 0.000000, bitrate: 851 kb/s
Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080, 816 kb/s, 4 fps, 4 tbr, 16384 tbn, 8 tbc (default)
Metadata:
handler_name : VideoHandler
Stream #0:1(und): Audio: mp3 (mp4a / 0x6134706D), 24000 Hz, mono, fltp, 32 kb/s (default)
Metadata:
handler_name : SoundHandler
视频类型 2 FFPROBE 输出:
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'static.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf58.78.100
Duration: 00:00:01.00, start: 0.000000, bitrate: 662 kb/s
Stream #0:0(eng): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 654 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 59.94 tbc (default)
Metadata:
handler_name : VideoHandler

谁能确定视频类型之间的不协调是什么以及我如何解决它?谢谢。

最佳答案

问题
文件属性必须匹配,但它们是不同的。见 list of attributes that must match for proper concatenation .
重要的不协调:

  • H.264 配置文件(高与受限基线)
  • 时基(16384 tbn 与 30k tbn)
  • 一个有音频,另一个没有

  • 解决方案 1:重新编码一个以匹配另一个
    如果您需要在长视频中添加短片段,此方法很好。它不会影响长视频,因此会保持质量并且速度会很快。缺点是您必须确保 all of the attributes如果您不熟悉该主题,这可能会很困难。
    示例 static.mp4喜欢 0.mp4 , 使用 anullsrc过滤器以生成空白/静音/虚拟/填充音频。
  • 重新编码:
    ffmpeg -i static.mp4 -f lavfi -i anullsrc=channel_layout=mono:sample_rate=24000 -c:v libx264 -c:a libmp3lame -video_track_timescale 16384 -shortest 1.mp4
  • 制作 input.txt包含:
    file '0.mp4'
    file '1.mp4'
  • 与 concat demuxer 连接:
    ffmpeg -f concat -i input.txt -c copy output.mp4

  • 解决方案 2:重新编码所有内容
    此方法使用多个过滤器使所有输入符合一组通用参数(帧速率、宽度、高度等)。如果您的输入总是变化的或任意的,这是最有用的。它在一个命令中完成所有操作。缺点是它会重新编码所有内容并且可能很慢。
    How to concatenate videos in ffmpeg with different attributes?举很多例子。

    关于video - MP4Box:即使示例描述不匹配,也会连接轨道 ID 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67303052/

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