Table des matières
1. Préparation
2 Moviepy split audio
3.Débit binaire de sortie Mp3
Maison développement back-end Tutoriel Python Python coupe les segments mp3 en un toutes les 30 secondes et réduit le débit binaire du fichier

Python coupe les segments mp3 en un toutes les 30 secondes et réduit le débit binaire du fichier

Apr 12, 2023 am 09:28 AM
python mp3 Taux de code de fichier

MoviePy est une bibliothèque de montage vidéo basée sur Python qui fournit des fonctions de création, d'édition, de fusion, de découpage et de conversion de vidéos. Voici les principales fonctions de MoviePy :

Montage vidéo : MoviePy peut éditer des vidéos, séparer les flux vidéo et audio, ajouter et supprimer des segments vidéo et audio, etc.

Fusion vidéo : MoviePy peut fusionner plusieurs fichiers vidéo et audio en un seul.

Transcodage vidéo : MoviePy peut convertir les formats vidéo et les méthodes d'encodage, telles que la conversion de mp4 en avi ou la conversion de l'encodage H.264 en encodage H.265, etc.

Montage vidéo : MoviePy peut ajouter des effets spéciaux vidéo, des animations, des sous-titres, etc. pour rendre la vidéo plus vivante et créative.

Génération vidéo : utilisez MoviePy pour créer des vidéos personnalisées, telles que générer des diaporamas, des animations, etc.

Traitement vidéo : MoviePy peut effectuer certains traitements sur les vidéos, tels que le recadrage, la mise à l'échelle, la rotation et l'ajustement des couleurs.

En conclusion, MoviePy fournit aux développeurs Python un framework simple et facile à utiliser pour traiter des vidéos sans avoir à apprendre un logiciel de montage vidéo complexe. Il est suffisamment puissant pour gérer facilement le traitement, le montage et la génération vidéo.

Cet article explique principalement comment utiliser moviepy pour diviser le flux audio et réduire le débit binaire.

1. Préparation

Avant de commencer, vous devez vous assurer que Python et pip ont été installés avec succès sur votre ordinateur. Sinon, vous pouvez consulter cet article : Guide d'installation super détaillé de Python pour l'installer.

(Facultatif 1) Si vous utilisez Python pour l'analyse de données, vous pouvez installer directement Anaconda : Anaconda, une bonne aide pour l'analyse et l'exploration de données Python, a Python et pip intégrés.

(Facultatif 2) De plus, il est recommandé à tout le monde Utilisez l'éditeur VSCode, qui présente de nombreux avantages : Le meilleur partenaire pour la programmation Python - Guide détaillé VSCode.

Veuillez choisir l'une des méthodes suivantes pour saisir la commande permettant d'installer les dépendances :

  • Environnement Windows Ouvrez Cmd (Démarrer-Exécuter-CMD).
  • Environnement MacOS Open Terminal (commande + espace pour entrer dans le Terminal).
  • Si vous utilisez l'éditeur VSCode ou Pycharm, vous pouvez utiliser directement le Terminal en bas de l'interface.
pip install moviepy

2 Moviepy split audio

Pour utiliser la bibliothèque MoviePy pour couper le mp3/wav téléchargé tous les 30. secondes et réduire Pour déterminer le débit binaire du fichier, nous pouvons suivre les étapes ci-dessous.

  • Importez la bibliothèque MoviePy et les autres bibliothèques requises :
import os
from moviepy.editor import *
  • Définissez une fonction pour couper les fichiers audio et réduire le débit :
def split_audio_file(filename, split_duration=30, bitrate=16000):
# 读取音频文件
audio = AudioFileClip(filename)

# 计算文件总时长和切割点
total_duration = audio.duration
split_points = list(range(0, int(total_duration), split_duration))
split_points.append(int(total_duration))
filelist = []
# 切割音频文件并降低码率
for i in range(len(split_points) - 1):
start_time = split_points[i]
end_time = split_points[i+1]
split_audio = audio.subclip(start_time, end_time)
split_audio.write_audiofile(f"{os.path.splitext(filename)[0]}_{i}.wav", fps=bitrate)
filelist.append(f"{os.path.splitext(filename)[0]}_{i}.wav")
audio.close()
return filelist

La fonction accepte trois paramètres : filename représente le nom du fichier audio à traiter , split_duration Indique la durée de coupe du fichier (l'unité est la seconde), bitrate indique le débit binaire de sortie à définir (l'unité est le débit binaire).

Dans la fonction, nous lisons d'abord le fichier audio puis calculons le point de coupe. Ensuite, nous utilisons une boucle pour parcourir chaque point de coupure, coupons le fichier audio en petits fichiers et réduisons le débit binaire, et enfin le produisons sous la forme d'un nouveau fichier audio.

  • Appelez la fonction pour traiter le fichier audio :
filename = "your_audio_file.mp3"# 要处理的音频文件名
split_duration = 30# 按每30秒一个切割文件
bitrate = "64k"# 设置输出码率为64kbps
split_audio_file(filename, split_duration, bitrate)

Lors de l'appel de la fonction, transmettez simplement le nom du fichier audio à traiter, la longueur du fichier coupé et le débit de sortie en paramètres à la fonction. Cette fonction affichera le fichier audio traité dans le répertoire actuel.

3.Débit binaire de sortie Mp3

Veuillez noter que le débit binaire de sortie ne peut pas être réglé trop bas. Le débit de sortie des fichiers MP3 affectera la qualité audio et la taille du fichier. Plus le débit binaire de sortie est élevé, meilleure est la qualité audio, mais la taille du fichier sera également plus grande. Au contraire, plus le débit de sortie est faible, la qualité audio sera réduite, mais la taille du fichier sera plus petite.

Le débit binaire d'un fichier MP3 fait référence au nombre de bits requis par seconde (c'est-à-dire le débit binaire). Lors de l'encodage, l'algorithme MP3 déterminera la quantité de données audio compressées en fonction du débit binaire défini, affectant ainsi la taille et la qualité du fichier de sortie. Généralement, des débits binaires plus élevés produisent une meilleure qualité audio, mais occupent également plus d’espace de stockage et de bande passante.

Si le débit binaire de sortie est réglé trop bas, cela entraînera une perte évidente de la qualité audio et des problèmes tels que du bruit audio, de la distorsion et une troncature des basses fréquences peuvent survenir. Si le débit binaire de sortie est trop élevé, la taille du fichier deviendra très importante, ce qui peut rendre le transfert et le stockage difficiles.

Par conséquent, lors de la sélection du débit binaire de sortie, vous devez peser les exigences de qualité audio et de taille de fichier, ainsi que les limitations de transmission et de stockage en fonction de la situation spécifique. De manière générale, 128 kbps est un débit de sortie MP3 couramment utilisé, qui produit une meilleure qualité sonore et des tailles de fichiers appropriées.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Guide de construction d'Agnes Tachyon | Un joli Musume Derby
2 Il y a quelques semaines By Jack chen
Oguri Cap Build Guide | Un joli Musume Derby
3 Il y a quelques semaines By Jack chen
Guide de construction de Grass Wonder | Uma musume joli derby
2 Il y a quelques semaines By Jack chen
Pic comment émoter
4 Il y a quelques semaines By Jack chen

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment gérer l'authentification de l'API dans Python Comment gérer l'authentification de l'API dans Python Jul 13, 2025 am 02:22 AM

La clé pour gérer l'authentification de l'API est de comprendre et d'utiliser correctement la méthode d'authentification. 1. Apikey est la méthode d'authentification la plus simple, généralement placée dans l'en-tête de demande ou les paramètres d'URL; 2. BasicAuth utilise le nom d'utilisateur et le mot de passe pour la transmission de codage Base64, qui convient aux systèmes internes; 3. OAuth2 doit d'abord obtenir le jeton via client_id et client_secret, puis apporter le Bearertoken dans l'en-tête de demande; 4. Afin de gérer l'expiration des jetons, la classe de gestion des jetons peut être encapsulée et rafraîchie automatiquement le jeton; En bref, la sélection de la méthode appropriée en fonction du document et le stockage en toute sécurité des informations clés sont la clé.

Python pour la boucle sur un tuple Python pour la boucle sur un tuple Jul 13, 2025 am 02:55 AM

Dans Python, la méthode de traverser les tuples avec des boucles pour les boucles comprend directement itérer les éléments, obtenir des indices et des éléments en même temps, et le traitement des tuples imbriqués. 1. Utilisez la boucle pour accéder directement à chaque élément de séquence sans gérer l'index; 2. Utilisez EnuMerate () pour obtenir l'index et la valeur en même temps. L'indice par défaut est 0 et le paramètre de démarrage peut également être spécifié; 3. Les tuples imbriqués peuvent être déballés dans la boucle, mais il est nécessaire de s'assurer que la structure des sous-tables est cohérente, sinon une erreur de déballage sera augmentée; De plus, le tuple est immuable et le contenu ne peut pas être modifié dans la boucle. Les valeurs indésirables peuvent être ignorées par \ _. Il est recommandé de vérifier si le tuple est vide avant de traverser pour éviter les erreurs.

Comment passer des appels API asynchrones dans Python Comment passer des appels API asynchrones dans Python Jul 13, 2025 am 02:01 AM

Python implémente les appels API asynchrones avec Async / Await avec AIOHTTP. Utilisez Async pour définir les fonctions Coroutine et les exécuter via le pilote asyncio.run, par exemple: asyncdeffetch_data (): AwaitAsyncio.Sleep (1); lancer des demandes HTTP asynchrones via AIOHTTP, et utilisez AsyncWith pour créer des clients de clients et attendre le résultat de la réponse; utiliser asyncio.gather pour emballer la liste des tâches; Les précautions comprennent: éviter les opérations de blocage, ne pas mélanger le code de synchronisation et le jupyter doit gérer les boucles d'événements spécialement. Master Eventl

Qu'est-ce qu'une fonction pure dans Python Qu'est-ce qu'une fonction pure dans Python Jul 14, 2025 am 12:18 AM

Les fonctions pures dans Python se réfèrent à des fonctions qui renvoient toujours la même sortie sans effets secondaires compte tenu de la même entrée. Ses caractéristiques incluent: 1. Le déterminisme, c'est-à-dire que la même entrée produit toujours la même sortie; 2. Pas d'effets secondaires, c'est-à-dire pas de variables externes, pas de données d'entrée et aucune interaction avec le monde extérieur. Par exemple, Defadd (A, B): Returna B est une fonction pure car peu importe le nombre de fois qu'Add (2,3) est appelé, il renvoie toujours 5 sans changer d'autres contenus dans le programme. En revanche, les fonctions qui modifient les variables globales ou modifient les paramètres d'entrée sont des fonctions non-pure. Les avantages des fonctions purs sont: plus faciles à tester, plus adaptés à l'exécution simultanée, les résultats du cache pour améliorer les performances et peuvent être bien adaptés à des outils de programmation fonctionnelle tels que MAP () et Filter ().

Comment empêcher une méthode d'être remplacée dans Python? Comment empêcher une méthode d'être remplacée dans Python? Jul 13, 2025 am 02:56 AM

Dans Python, bien qu'il n'y ait pas de mot-clé final intégré, il peut simuler des méthodes insurpassables grâce à la réécriture du nom, des exceptions d'exécution, des décorateurs, etc. 1. Utilisez le préfixe de trait de soulignement pour déclencher la réécriture du nom, ce qui rend difficile les sous-classes pour écraser les méthodes; 2. Jugez le type de l'appelant dans la méthode et lancez une exception pour empêcher la redéfinition de la sous-classe; 3. Utilisez un décorateur personnalisé pour marquer la méthode comme final et vérifiez-le en combinaison avec Metaclass ou Decorator de classe; 4. Le comportement peut être encapsulé en tant qu'attributs de propriété pour réduire la possibilité d'être modifiés. Ces méthodes offrent différents degrés de protection, mais aucun d'entre eux ne restreint complètement le comportement de couverture.

Qu'est-ce que si d'autre dans Python Qu'est-ce que si d'autre dans Python Jul 13, 2025 am 02:48 AM

Ifelse est l'infrastructure utilisée dans Python pour un jugement conditionnel, et différents blocs de code sont exécutés par l'authenticité de la condition. Il prend en charge l'utilisation d'ELIF pour ajouter des branches lors du jugement multi-conditions, et l'indentation est la clé de syntaxe; Si num = 15, le programme produit "ce nombre est supérieur à 10"; Si la logique d'attribution est requise, les opérateurs ternaires tels que status = "adulte" ifage> = 18Else "mineur" peuvent être utilisés. 1. Ifelse sélectionne le chemin d'exécution en fonction des conditions vraies ou fausses; 2. ELIF peut ajouter plusieurs branches de condition; 3. L'indentation détermine la propriété du code, les erreurs conduiront à des exceptions; 4. L'opérateur ternaire convient aux scénarios d'attribution simples.

Une classe Python peut-elle avoir plusieurs constructeurs? Une classe Python peut-elle avoir plusieurs constructeurs? Jul 15, 2025 am 02:54 AM

Oui, apythonclasscanhavemultipleconstructorshroughalterativetechniques.1.UseaultArgumentsInthe__Init__MethodtoallowflexibleInitializationwithVaryingNumbersofParameters.2.DefineclassMethodsAnterveConstructorForCeleArandScalableableBjectCraturé

Python pour la gamme de boucle Python pour la gamme de boucle Jul 14, 2025 am 02:47 AM

Dans Python, l'utilisation d'une boucle pour la fonction avec la plage () est un moyen courant de contrôler le nombre de boucles. 1. Utilisez lorsque vous connaissez le nombre de boucles ou avez besoin d'accès aux éléments par index; 2. Plage (arrêt) de 0 à l'arrêt-1, plage (démarrage, arrêt) du début à l'arrêt-1, plage (démarrage, arrêt) ajoute la taille de l'étape; 3. Notez que la plage ne contient pas la valeur finale et renvoie des objets itérables au lieu de listes dans Python 3; 4. Vous pouvez vous convertir en liste via la liste (plage ()) et utiliser la taille de pas négative dans l'ordre inverse.

See all articles