【问题标题】:How to use multiple map values in ffmpeg-python?如何在 ffmpeg-python 中使用多个地图值?
【发布时间】:2021-11-12 00:50:48
【问题描述】:

如何在 ffmpeg-python 中为不同分辨率使用多个映射值?

    -map [v1out] -c:v:0 libx264 -b:v:0 1900k -bufsize 3800k \
    -map [v2out] -c:v:1 libx264 -b:v:0 900k -bufsize 1800k \

【问题讨论】:

    标签: python ffmpeg ffmpeg-python


    【解决方案1】:

    您可以在 ffmpeg-python 中提供多个映射值,例如:

    ffmpeg.input('in.mp4').output(
    ...
    map = [
        "[v1out] -c:v:0 libx264 -b:v:0 1900k -bufsize 3800k",
        "[v2out] -c:v:1 libx264 -b:v:0 900k -bufsize 1800k"
      ]
    )
    

    【讨论】:

      【解决方案2】:

      你可以试试这样的:

      import ffmpeg
      
      input_file = 'input.mp4'
      output_file = 'output.mp4'
      subtitles_file = 'subtitles.srt'
          
      # Load the video/audio master.
      input_ffmpeg = ffmpeg.input(input_file)
      
      # Load the subtitle master.
      input_ffmpeg_sub = ffmpeg.input(subtitles_file)
      
      # Refer to the master audio, video and subtitles streams separately.
      input_video = input_ffmpeg['v']
      input_audio = input_ffmpeg['a']
      input_subtitles = input_ffmpeg_sub['s']
      
      output_ffmpeg = ffmpeg.output(
          input_video, input_audio, input_subtitles, output_file,
          vcodec='copy', acodec='copy', scodec='mov_text'
      )
      
      # 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)
      

      这是等效的 ffmpeg 命令:

      ffmpeg -i input.mp4 -i subtitles.srt -map 0:v -map 0:a -map 1:s -acodec copy -vcodec copy -scodec mov_text output.mp4 -y
      

      ffmpeg -i input.mp4 -i subtitles.srt -map 0:v -map 0:a -map 1:s -c:a copy -c:v copy -c:s mov_text output.mp4 -y
      

      希望对你有帮助,对我有用。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-02-11
        • 1970-01-01
        • 2015-02-24
        • 1970-01-01
        • 2018-09-18
        • 2020-10-24
        • 2018-04-14
        • 2021-03-27
        相关资源
        最近更新 更多