吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1382|回复: 51
收起左侧

[Python 原创] python 视频原声提取

  [复制链接]
TZ425 发表于 2024-8-2 15:39
使用Python编写的视频原声提取器,可以将mp4视频的声音单独提取为MP3文件

使用说明:选择视频路径,提取完成会将MP3文件保存到视频当前的路径

因为我当前只是为了实现提取功能,所以界面会非常的简陋哈哈哈
运行截图.png

以下是Python源码:

[Python] 纯文本查看 复制代码
import tkinter as tk
from tkinter import filedialog, messagebox
from moviepy.editor import VideoFileClip
from pydub import AudioSegment

class VideoAudioExtractor:
    def __init__(self, root):
        self.root = root
        self.root.title("视频音频提取器")

        # 设置窗口大小
        self.root.geometry("350x250")

        self.video_label = tk.Label(root, text="选择视频文件:")
        self.video_label.grid(row=0, column=0, padx=10, pady=5, sticky="w")

        self.video_path = tk.StringVar()
        self.video_entry = tk.Entry(root, textvariable=self.video_path, width=20)
        self.video_entry.grid(row=0, column=1, padx=10, pady=5)

        self.browse_button = tk.Button(root, text="浏览", command=self.browse_video)
        self.browse_button.grid(row=0, column=2, padx=10, pady=5)

        self.extract_button = tk.Button(root, text="提取音频", command=self.extract_audio)
        self.extract_button.grid(row=1, column=1, padx=10, pady=5)

        self.result_label = tk.Label(root, text="提取结果:")
        self.result_label.grid(row=2, column=0, padx=10, pady=5, sticky="w")

        self.result_text = tk.Text(root, width=30, height=8)  # 调整高度为8
        self.result_text.grid(row=2, column=1, columnspan=2, padx=10, pady=5)
        self.result_text.insert(tk.END, "欢迎使用视频音频提取器!")
        self.result_text.config(state="disabled")

    def browse_video(self):
        file_path = filedialog.askopenfilename(filetypes=[("Video Files", "*.mp4;*.avi;*.mkv")])
        if file_path:
            self.video_path.set(file_path)

    def extract_audio(self):
        video_path = self.video_path.get()
        if video_path:
            try:
                video_clip = VideoFileClip(video_path)
                audio = video_clip.audio
                audio_path = video_path.replace(".mp4", ".mp3")  # 修改文件格式为 mp3
                audio.write_audiofile(audio_path)
                audio.close()
                video_clip.close()
                self.result_text.config(state="normal")
                self.result_text.delete(1.0, tk.END)
                self.result_text.insert(tk.END, "音频提取完成!\n")
                self.result_text.insert(tk.END, f"音频文件保存为: {audio_path}\n")
                self.result_text.config(state="disabled")
                messagebox.showinfo("完成", "音频提取完成!")
            except Exception as e:
                messagebox.showerror("错误", f"提取音频时出现错误:\n{str(e)}")

if __name__ == "__main__":
    root = tk.Tk()
    app = VideoAudioExtractor(root)
    root.mainloop()

免费评分

参与人数 5吾爱币 +11 热心值 +3 收起 理由
苏紫方璇 + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
daoye9988 + 1 + 1 热心回复!
wuming4 + 1 谢谢@Thanks!
jiufangsiyixia + 1 我很赞同!
supercilious + 1 + 1 谢谢@Thanks!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

tsyhome 发表于 2024-8-2 15:48
支持原创,路过纯点赞!
Listentomusic 发表于 2024-8-2 15:50
willallen 发表于 2024-8-2 15:51
gh12 发表于 2024-8-2 16:06
这个可以
dumengji2008 发表于 2024-8-2 16:06
支持原创
whrgg6 发表于 2024-8-2 16:13
支持支持
kangta520 发表于 2024-8-2 16:33
支持原创,多多分享
jiufangsiyixia 发表于 2024-8-2 16:50
大佬能来个识别画面片段的吗
AMingMing 发表于 2024-8-2 16:50

支持原创,路过纯点赞!
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-12-16 01:55

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表