【问题标题】:How can I cut a video to a certain length and add an intro video to it using ffmpeg-python?如何使用 ffmpeg-python 将视频剪切到一定长度并添加介绍视频?
【发布时间】:2021-09-24 21:47:55
【问题描述】:

如何将视频剪切到一定长度并使用 ffmpeg-python 添加介绍视频?

我正在这样做:

intro = ffmpeg.input(intro)
mainvid = ffmpeg.input(mainvid)

v1 = intro.video
a1 = intro.audio
v2 = mainvid.video
a2 = mainvid.audio

joined = ffmpeg.concat(v1, a1, v2, a2, v=1, a=1).node
v3 = joined[0]
a3 = joined[1]

(
    ffmpeg
    .output(
        v3,
        a3,
        'out.mkv',
        vcodec='libx265', )
    .run()
)

但我不知道如何在加入前 10 分钟将 *mainvid 剪切到一定长度。我知道 ss 会有所帮助,但我不知道如何仅将它用于 mainvid

【问题讨论】:

    标签: python ffmpeg ffmpeg-python


    【解决方案1】:

    我设法做到了:

            intro = ffmpeg.input(intro)
            mainvid = ffmpeg.input(mainvid, ss='00:00:00', t='00:10:00') 
    
            v1 = intro.video
            a1 = intro.audio
            v2 = mainvid.video
            a2 = mainvid.audio
    
            joined = ffmpeg.concat(v1, a1, v2, a2, v=1, a=1).node
            v3 = joined[0]
            a3 = joined[1]
    
            (
                ffmpeg
                .output(
                    v3,
                    a3,
                    'out.mkv', 
                    vcodec='libx265', )
                .run()
            )
    

    【讨论】:

      【解决方案2】:

      您可以使用trimatrim 过滤器来修剪视频和音频。
      建议的解决方案基于以下answer

      • FFmpeg 支持3 types 的串联:“Concat demuxer”、“Concat 协议”和“Concat 过滤器”。
        方法ffmpeg.concat 应用Concat filter
        由于使用了“Concat 过滤器”,一个实用的解决方案是通过“链接”trimatrim 过滤器来修剪视频和音频。
      • 修复时间戳需要setptsasetpts 过滤器。

      v2 = mainvid.videoa2 = mainvid.audio 替换为:

      v2 = mainvid.video.filter('trim', start=0, end=600).filter('setpts', 'PTS-STARTPTS')
      a2 = mainvid.audio.filter('atrim', start=0, end=600).filter('asetpts', 'PTS-STARTPTS')
      

      【讨论】:

      • 我设法使用“ mainvid = ffmpeg.input(mainvid, ss='00:00:00', t='00:10:00') ”做什么?
      • 也是600秒吗?
      • 是的 600 以秒为单位。您的解决方案更简单,您可以将其发布为您自己问题的答案。
      • 好的,谢谢你的回答对我帮助很大!!祝你有美好的一天!
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-29
      • 2021-11-20
      • 2014-01-18
      • 2017-03-20
      • 2021-08-27
      • 1970-01-01
      相关资源
      最近更新 更多