Python实现视频转音频

说明:仅供学习使用,请勿用于非法用途,若有侵权,请联系博主删除

作者:zhu6201976

一、moviepy实现视频转音频

github地址:GitHub - Zulko/moviepy: Video editing with Python

二、示例代码

"""
@Time    : 2024-04-15 20:02
@Author  : Tesla
@File    : 视频转音频.py
@Description :

1.方式1 https://github.com/Zulko/moviepy -> 推荐 510M转换耗时 112秒=2分钟 大小98M
MoviePy can read and write all the most common audio and video formats, including GIF, and runs on Windows/Mac/Linux, with Python 3.6+
pip install moviepy

2.方式2 特殊格式如m3u8 ffmpeg

"""
import time

from moviepy.editor import *


def test1():
    """
    先读取mp4 再提取音频
    cost time 112.1316225528717
    """

    # 输入视频文件路径
    video_path = r"D:\softbackup\mo_tt13394304.mp4"

    # 输出音频文件路径
    audio_path = r"D:\softbackup\mo_tt13394304.mp3"

    # 加载视频
    video = VideoFileClip(video_path)

    # 提取音频
    audio = video.audio

    # 保存音频
    audio.write_audiofile(audio_path)

    print(f"转换完成,音频文件保存在 {audio_path}")


def test2():
    """
    直接将mp4文件当成mp3文件读取 省略过程
    cost time 113.1316225528717
    """
    # 输入视频文件路径
    video_path = r"D:\softbackup\mo_tt13394304.mp4"

    # 输出音频文件路径
    audio_path = r"D:\softbackup\mo_tt13394304.mp3"

    # 加载视频
    audio = AudioFileClip(video_path)

    # 保存音频
    audio.write_audiofile(audio_path)

    print(f"转换完成,音频文件保存在 {audio_path}")


if __name__ == '__main__':
    s = time.time()

    # test1()
    test2()

    e = time.time()
    print(f'cost time {e - s}')

相关推荐

最近更新

  1. TCP协议是安全的吗?

    2024-04-29 11:32:01       14 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-29 11:32:01       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-29 11:32:01       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-29 11:32:01       18 阅读

热门阅读

  1. React 19 Beta新内容前瞻合集(快速版)

    2024-04-29 11:32:01       12 阅读
  2. SQL常见约束及外键约束删除更新行为

    2024-04-29 11:32:01       11 阅读
  3. 数字信号处理基础

    2024-04-29 11:32:01       10 阅读
  4. C语言实现哈希表

    2024-04-29 11:32:01       9 阅读
  5. Stable Diffusion Windows部署教程

    2024-04-29 11:32:01       14 阅读
  6. Linux连接不上Android设备

    2024-04-29 11:32:01       11 阅读
  7. 安卓手机APP开发__媒体开发部分__用户界面定制

    2024-04-29 11:32:01       11 阅读
  8. android:maxEms=“5“ 为什么可以显示6个文字呢?

    2024-04-29 11:32:01       5 阅读
  9. SpringMVC

    SpringMVC

    2024-04-29 11:32:01      10 阅读
  10. Android 11在app中修改屏幕亮度

    2024-04-29 11:32:01       11 阅读
  11. [SQL系列]从零开始学Clickhouse

    2024-04-29 11:32:01       11 阅读
  12. Docker-05 Docker容器命令

    2024-04-29 11:32:01       7 阅读
  13. C#三人飞行棋

    2024-04-29 11:32:01       8 阅读