» 您尚未登录:请 登录 | 注册 | 标签 | 帮助 | 小黑屋 |


发新话题
打印

[其他] 请教下 ffmpeg 合并视频的问题

没怎么用过 ffmpeg,也很缺乏视频编码知识,在操作中遇到了些问题。

一、需求:
我有一段视频,想在前面加一张持续几秒的静态图片。

二、我的操作:
我的想法是先把图片转成视频,然后进行合并。
图片转视频我用的命令是:
复制内容到剪贴板
代码:
ffmpeg -loop 1 -f image2 -i sc.png -vcodec libx264 -t 6 intro.mp4
之后用 concat 将 filelist.txt 中列出的两个文件进行合并:
复制内容到剪贴板
代码:
ffmpeg -f concat -i filelist.txt -c copy output.mp4
三、问题:
合并后的输出文件,变成了慢动作。(理论上应该是 4 分多钟的视频,变成了 28 分钟。)

我查看了下合并前的两个视频,编码信息分别如下:
intro.mp4:25 fps  bitrate: 351 kb/s
复制内容到剪贴板
代码:
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'intro.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf58.24.101
  Duration: 00:00:06.00, start: 0.000000, bitrate: 351 kb/s
    Stream #0:0(und): Video: h264 (High 4:4:4 Predictive) (avc1 / 0x31637661), yuv444p, 1920x1080 [SAR 1:1 DAR 16:9], 347 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default)
content.mp4:60 fps  bitrate: 40294 kb/s   
复制内容到剪贴板
代码:
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'content.mp4':
  Metadata:
    major_brand     : mp42
    minor_version   : 0
    compatible_brands: isommp42
    creation_time   : 2019-03-26T10:12:39.000000Z
    date            : 2019
  Duration: 00:04:50.08, start: 0.000000, bitrate: 40294 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, smpte170m/smpte170m/bt470m), 1920x1080 [SAR 1:1 DAR 16:9], 39890 kb/s, 60 fps, 60 tbr, 90k tbn, 120 tbc (default)
    Metadata:
      creation_time   : 2019-03-26T10:12:39.000000Z
      handler_name    : VideoHandle
    Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 196 kb/s (default)
    Metadata:
      creation_time   : 2019-03-26T10:12:39.000000Z
      handler_name    : SoundHandle
    Stream #0:2(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 195 kb/s (default)
    Metadata:
      creation_time   : 2019-03-26T10:12:39.000000Z
      handler_name    : SoundHandle
请问下合并后输出视频慢动作,是因为两个源视频帧率和码率不一直造成的吗?

如果是的话,是应该在图片转视频的时候就设定好码率/帧率和另一视频一致吗?
我试过用 -r 60 -b 40294 k,但仍然无效。

还是我在合并时,需要设定参数按后一个视频的码率/帧率进行输出?

当然,如果有其他方便的方案可以解决一开始的需求的话,也可以提出来。

[ 本帖最后由 AnonymousUser 于 2019-3-27 18:54 编辑 ]


TOP

发新话题
     
官方公众号及微博