返回顶部
首页 > 资讯 > 后端开发 > Python >Python 如何实现批量转换视频音频的采样率
  • 801
分享到

Python 如何实现批量转换视频音频的采样率

2024-04-02 19:04:59 801人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

目录前言环境依赖代码验证一下前言 本文主要分享一个python代码,可以将多个视频中的音频转化为相同采样率的视频。对视频格式的校验没有做,也不是很关键。 环境依赖 FFmpeg环境安

前言

本文主要分享一个python代码,可以将多个视频中的音频转化为相同采样率的视频。对视频格式的校验没有做,也不是很关键。

环境依赖

FFmpeg环境安装,具体安装可以参考在windows上安装FFmpeg程序的图文方法

ffmpy安装:


pip install ffmpy -i https://pypi.douban.com/simple

代码

不废话,上代码。


#!/user/bin/env Python
# coding=utf-8
"""
@project : csdn
@author  : 剑客阿良_ALiang
@file   : transfor_mp4_audio_sampling_rate.py
@ide    : PyCharm
@time   : 2021-11-24 13:48:08
"""
from ffmpy import FFmpeg
import os
 
 
def transfor(video_path: str, tmp_dir: str, result_dir: str):
    file_name = os.path.basename(video_path)
    base_name = file_name.split('.')[0]
    file_ext = file_name.split('.')[-1]
    ext = 'wav'
 
    audio_path = os.path.join(tmp_dir, '{}.{}'.fORMat(base_name, ext))
    print('文件名:{},提取音频'.format(audio_path))
    ff = FFmpeg(
        inputs={
            video_path: None}, outputs={
            audio_path: '-f {} -vn -ac 1 -ar 16000 -y'.format('wav')})
    print(ff.cmd)
    ff.run()
 
    if os.path.exists(audio_path) is False:
        return None
 
    video_tmp_path = os.path.join(
        tmp_dir, '{}_1.{}'.format(
            base_name, file_ext))
    ff_video = FFmpeg(inputs={video_path: None},
                      outputs={video_tmp_path: '-an'})
    print(ff_video.cmd)
    ff_video.run()
 
    result_video_path = os.path.join(result_dir, file_name)
    ff_fuse = FFmpeg(inputs={video_tmp_path: None, audio_path: None}, outputs={
        result_video_path: '-map 0:v -map 1:a -c:v copy -c:a aac -shortest'})
    print(ff_fuse.cmd)
    ff_fuse.run()
    return result_video_path
 
 
def handle(video_dir: str, tmp_dir: str, result_dir: str):
    if os.path.isdir(video_dir):
        for file in os.listdir(video_dir):
            try:
                result = transfor(
                    os.path.join(
                        video_dir,
                        file),
                    tmp_dir,
                    result_dir)
            except Exception as e:
                print(e)
                continue
            if result:
                print(result)
 
 
if __name__ == '__main__':
    handle(
        'C:/Users/huyi/Desktop/shipin',
        'C:/Users/huyi/Desktop/tmp',
        'C:/Users/huyi/Desktop/result')

代码说明

1、handle方法入参分别为:视频目录、临时目录、最终结果视频目录。

2、handle方法会遍历视频目录,一次对视频做transfor方法处理,步骤为:(1)提取视频音频并转化为定义的采样率音频;(2)提取视频中不带音频的视频;(3)融合新视频与新音频合成最终视频到指定的结果目录。

3、没有音频的异常直接丢弃,无需进行转换。

4、最终结果目录的文件名与原视频目录的文件名一致。

5、该代码主要转化为16k采样率,可以按照需求调整。

验证一下

原始视频采样率

结果视频采样率

到此这篇关于Python 如何实现批量转换视频音频的采样率的文章就介绍到这了,更多相关Python 批量转换视频音频采样率内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Python 如何实现批量转换视频音频的采样率

本文链接: https://lsjlt.com/news/158313.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python 如何实现批量转换视频音频的采样率
    目录前言环境依赖代码验证一下前言 本文主要分享一个python代码,可以将多个视频中的音频转化为相同采样率的视频。对视频格式的校验没有做,也不是很关键。 环境依赖 ffmpeg环境安...
    99+
    2024-04-02
  • Python怎么实现批量转换视频音频的采样率
    这篇文章主要讲解了“Python怎么实现批量转换视频音频的采样率”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python怎么实现批量转换视频音频的采样率”吧!环境依赖ffmpeg环境安装f...
    99+
    2023-06-21
  • java仅用30行代码就实现了视频转音频的批量转换
    本功能实现需要用到第三方jar包 jave,JAVE 是java调用FFmpeg的封装工具。 spring boot项目pom文件中添加以下依赖 <!--...
    99+
    2024-04-02
  • 基于Python如何实现视频分辨率转换
    这篇文章主要为大家展示了“基于Python如何实现视频分辨率转换”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“基于Python如何实现视频分辨率转换”这篇文章吧。环境依赖ffmpeg环境安装,可...
    99+
    2023-06-22
  • 基于Python实现视频分辨率转换
    目录前言环境依赖代码验证一下前言 本文提供将视频调整分辨率的Python代码,一如既往的实用主义。 环境依赖 ffmpeg环境安装,可以参考文章:windows ffmpeg安装部署...
    99+
    2024-04-02
  • windows中goldwave如何进行批量的音频格式转换
    今天小编给大家分享一下windows中goldwave如何进行批量的音频格式转换的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后...
    99+
    2023-01-04
    windows goldwave
  • Python如何实现视频中添加音频工具
    这篇文章主要介绍Python如何实现视频中添加音频工具,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!环境依赖ffmpeg环境安装,可以参考:windows ffmpeg安装部署ffmpy安装:pip ins...
    99+
    2023-06-21
  • Python如何实现视频转换为字符画
    这篇文章给大家分享的是有关Python如何实现视频转换为字符画的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。首先读取视频,并转为字符。视频是从B站下载的,地址《激战江南》穿山甲名场面。由于B站直接下载的视频为fl...
    99+
    2023-06-22
  • Java用20行代码实现抖音小视频批量转换为gif动态图
    本文主要介绍了Java用20行代码实现抖音小视频批量转换为gif动态图,分享给大家,具体如下: 效果图  本功能实现需要用到第三方jar包 jave,JAVE ...
    99+
    2024-04-02
  • Python实现批量将MP3音频转为WAV格式详解
    目录前言环境依赖代码验证一下前言 本文提供批量将MP3格式的音频转为wav格式的工具代码,一如既往的实用主义。 环境依赖 ffmpeg环境安装,可以参考:windows ffmpeg...
    99+
    2024-04-02
  • Python实现Youku视频批量下载功能
    前段时间由于收集视频数据的需要,自己捣鼓了一个YouKu视频批量下载的程序。东西虽然简单,但还挺实用的,拿出来分享给大家。   版本:Python2.7+BeautifulSoup3.2.1 impor...
    99+
    2022-06-04
    批量 功能 视频
  • Qt音视频开发之音频播放QAudioOutput如何实现
    这篇文章主要介绍了Qt音视频开发之音频播放QAudioOutput如何实现的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Qt音视频开发之音频播放QAudioOutput如何实现文章都会有所收获,下面我们一起来看...
    99+
    2023-07-05
  • C#如何实现视频的批量剪辑功能
    今天小编给大家分享一下C#如何实现视频的批量剪辑功能的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一,采用预置数据data....
    99+
    2023-07-05
  • Python采集情感音频的实现示例
    目录前言发送请求获取数据解析数据保存数据总结前言 我最近喜欢去听情感类的节目,比如说,婚姻类,我可能老了吧。我就想着怎么把音乐下载下来了,保存到手机上,方便我们业余时间去听。 发送请...
    99+
    2023-05-17
    Python采集情感音频 Python采集音频
  • 在Html中如何实现音、视频
    这篇文章将为大家详细讲解有关在Html中如何实现音、视频,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 在Html中也是可以播放音频和视频的,不过这项功能添加在了Htm...
    99+
    2024-04-02
  • Python如何将视频转换为图片
    Python如何将视频转换为图片,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。前言代码让人头秃,可是我喜欢上了代码的逻辑感和代码解决问题的力量。(我要对这个专题的图片进行修...
    99+
    2023-06-22
  • Python实现图片和视频的相互转换
    目录使用背景一、视频转图像二、图像转视频使用背景 有时候我们需要把很多的图片合成视频,或者说自己写一个脚本去加快或者放慢视频; 也有时候需要把视频裁剪成图片,进行后续操作。 这里提供...
    99+
    2024-04-02
  • Python使用ffmpeg合成视频、音频的实现方法
    最近有在使用屏幕录制软件录制桌面,在用的过程中突发奇想,使用python能不能做屏幕录制工具,也锻炼下自己的动手能力。接下准备写使用python如何做屏幕录制工具的系列文章: 录制屏...
    99+
    2024-04-02
  • C#实现视频的批量剪辑功能
    篇首,完全没有技术含量的帖子,高手略过,只为十几年后重新捡起的我爱好玩玩。。。 起因,一个朋友说他下载了很多短视频,但只需要要其中的一小截,去头掐尾,在软件里搞来搞去太麻烦,让我帮忙...
    99+
    2023-03-23
    C#视频批量剪辑 C#视频剪辑
  • 如何使用python opencv库玩转视频帧率
    这篇“如何使用python opencv库玩转视频帧率”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“如何使用pyt...
    99+
    2023-06-30
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作