【问题标题】:Add multiple subtitles to video with ffmpeg-python使用 ffmpeg-python 为视频添加多个字幕
【发布时间】:2021-06-23 16:09:03
【问题描述】:

我正在尝试使用 ffmpeg-python 将多个字幕(未刻录)添加到视频文件中。我有这个 ffmpeg 命令:

ffmpeg -i input.mp4 -f srt \
-i "subs/en/en_srt_sub.srt" \
-i "subs/fr/fr_srt_sub" \
-map 0:0 -map 0:1 -map 1:0 -map 2:0 \
-c:v copy -c:a copy \
-c:s srt -c:s srt \
-metadata:s:s:0 language=en -metadata:s:s:0 title=English \
-metadata:s:s:1 language=fr -metadata:s:s:1 title=French \
output.mkv

有没有办法用 ffmpeg-python 模块做到这一点,或者我只需要使用字符串格式和子进程。

【问题讨论】:

    标签: python ffmpeg ffmpeg-python


    【解决方案1】:

    同样的命令可以翻译成这样的:

    #Import library
    import ffmpeg
    
    #Define vars
    video="input.mp4"
    sub1="subs/en/en_srt_sub.srt"
    l1="en"
    t1="English"
    sub2="subs/fr/fr_srt_sub.srt"
    l2="fr"
    t2="French"
    output_file="output.mkv"
    
    #Define input values
    input_ffmpeg = ffmpeg.input(video)
    input_ffmpeg_sub1 = ffmpeg.input(sub1)
    input_ffmpeg_sub2 = ffmpeg.input(sub2)
    
    #Define output file
    input_video = input_ffmpeg['v']
    input_audio = input_ffmpeg['a']
    input_subtitles1 = input_ffmpeg_sub1['s']
    input_subtitles2 = input_ffmpeg_sub['s']
    output_ffmpeg = ffmpeg.output(
        input_video, input_audio, input_subtitles1, input_subtitles2, output_file,
        vcodec='copy', acodec='copy', 
        **{'metadata:s:s:0': "language="+l1, 'metadata:s:s:0': "title="+t1, 'metadata:s:s:1': "language="+l2, 'metadata:s:s:1': "title="+t2 }
    )
    
    # If the destination file already exists, overwrite it.
    output_ffmpeg = ffmpeg.overwrite_output(output_ffmpeg)
    
    # Print the equivalent ffmpeg command we could run to perform the same action as above.
    print(ffmpeg.compile(output_ffmpeg))
    
    # Do it! transcode!
    ffmpeg.run(output_ffmpeg)
    

    要添加其他流元数据,您可以查看官方文档中的Custom Filter

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-07-04
      • 2021-03-11
      • 2016-06-08
      • 2023-03-19
      • 2017-05-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多