python3 用ffmpeg从视频中提取音频

  用ffmpeg命令从视频文件中提取音频

  命令:ffmpeg -i D:\AI\bili_data\test.mp4 -vn -y -acodec copy D:\AI\bili_data\output.aac

  

 

# 从视频中提取音频
def video_to_audio(video_file,audio_file):
    # ffmpeg命令工具 在D:/FFmpeg/bin目录下
    try:
        # ffmpeg = r'D:/FFmpeg/bin/ffmpeg -i %s -vn -y -acodec copy %s' %(video_file,audio_file)
        # ffmpeg = r'D:/FFmpeg/bin/ffmpeg -i D:\AI\bili_data\test.mp4 -vn -y -acodec copy D:\AI\bili_data\output.aac'
        # 8000采样率
        ffmpeg = r'D:/FFmpeg/bin/ffmpeg.exe -i %s -f wav -vn -ar 8000 -ac 1 -y %s' % (video_file, audio_file)
        # print(ffmpeg)
        os.system(ffmpeg)
        # p = subprocess.Popen(ffmpeg, shell=False)
        # p.wait(5)
        print('提取完成')
    except Exception as ex:
        print('提取音频发生异常', ex)

# 从视频中截取图片,每秒钟一个图片
def cut_image_from_video(video_file,imagedir):
    try:
        # strls = os.path.split(video_file)
        # filename = strls[1].replace('.mp4','')
        #
        # imagedir = os.path.join(strls[0],filename)
        if not os.path.exists(imagedir):
            os.mkdir(imagedir)
        filename = os.path.join(imagedir, 'test_frame_%03d.jpg')
        ffmpeg = r'D:/FFmpeg/bin/ffmpeg -i %s -r 1 -q:v 2 -f image2 -y %s' % (video_file, filename)
        # print(ffmpeg)
        os.system(ffmpeg)
        # p = subprocess.Popen(ffmpeg, shell=False)
        # p.wait(5)
        print('提取完成')
    except Exception as ex:
        print('提取音频发生异常', ex)

# 截取视频片段
def cutVideo(video_file,save_name):
    # file_time = ffmpeg.probe(file_name)['format']['duration']    # 视频总时长 秒
    start_time='00:02:20' # 开始时间
    length ='00:02:00' # 截取多长时间 2分钟
    #length = '120' #秒
    ffmpeg = r'D:/FFmpeg/bin/ffmpeg.exe -y -i  %s -ss %s -t %s -acodec copy -vcodec copy -async 1 %s' % (video_file, start_time,length,save_name)
    # subprocess.call('D:/FFmpeg/bin/ffmpeg.exe -y -i ' + video_file + ' -ss ' + start_time + ' -t ' + length + ' -acodec copy -vcodec copy -async 1 ' + save_name)
    r = subprocess.call(ffmpeg)
    print(r)

 

 

  

 

posted on 2021-06-18 11:24  shaomine  阅读(1478)  评论(0编辑  收藏  举报