Stories

Detail Return Return

python視頻工具包 ffmpeg 使用示例 - Stories Detail

1.簡介
FFMPEG堪稱自由軟件中最完備的一套多媒體支持庫,它幾乎實現了所有當下常見的數據封裝格式、多媒體傳輸協議以及音視頻編解碼器,提供了錄製、轉換以及流化音視頻的完整解決方案。

2.ffmpeg的常用方法

  • 將某文件下所有ts文件按順序合併,轉換成MP4格式存儲:

    import ffmpeg
    
    def test2():
      ts_folder = 'path/ts_files/ceshi/'
      output_mp4 = "path/video/ceshi/output.mp4"
      concat_file = "path/video/ceshi/concat.txt"
      with open(concat_file, 'w') as f:
          for ts in sorted(os.listdir(ts_folder), key=lambda x: int(x.split('.')[0])):
              if ts.endswith('.ts'):
                  f.write(f"file '{os.path.join(ts_folder, ts)}'" + '\n')
      ffmpeg.input(concat_file, format='concat', safe=0).output(output_mp4, c='copy').run()
      print(f"合併完成,輸出文件: {output_mp4}")
  • 視頻剪輯

    import ffmpeg
    
    # 剪輯視頻,保留從第10秒到第20秒的部分
    input_video = 'path/to/your/video.mp4'
    output_video = 'path/to/save/your/video.mp4'
    start_time = '00:00:10'
    end_time = '00:00:20'
    
    ffmpeg.input(input_video).filter('trim', start=start_time, end=end_time).output(output_video).run()
  • 調整視頻速度

    import ffmpeg
    
    # 調整視頻速度為原來的2倍
    input_video = 'path/to/your/video.mp4'
    output_video = 'path/to/save/speedup.mp4'
    
    ffmpeg.input(input_video).filter('setpts', '1.0*PTS').output(output_video).run()
    
  • 添加音頻到視頻

    import ffmpeg
    
    # 加載視頻和音頻文件
    video = 'path/to/your/video.mp4'
    audio = 'path/to/your/audio.mp3'
    
    # 將音頻添加到視頻中
    output_video = 'path/to/save/audio_added.mp4'
    
    ffmpeg.input(video).audio.addinput(ffmpeg.input(audio)).output(output_video).run()
user avatar u_13137233 Avatar u_17400586 Avatar u_16281588 Avatar oeasy Avatar u_17467352 Avatar codexiaosheng Avatar xiaohuzideboluo_cvmeub Avatar kuanrongdeshanyang Avatar wanlanqiudeyuechi Avatar liutos Avatar codists Avatar yeshifu Avatar
Favorites 24 users favorite the story!
Favorites

Add a new Comments

Some HTML is okay.