AI办公自动化:多音频轨电影视频抽取出英语音频

很多电影视频是有中、英、粤语等多个音频轨的,如果直接转换成音频,很有可能不是自己想要的那种语音。

可以先查看音频流信息,确定属于哪个音频轨:

Reading video file: E:\1-7\比得兔1.mp4

输出音频流信息

Available audio streams:

Stream 0: und - aac

Stream 1: und - aac

Stream 2: und - aac

Stream 3: und - aac

Stream 0应该是英语;

然后,在Deepseek中输入提示词:

你是一个Python编程专家,写一个Python脚本:

读取视频:"E:\1-7\比得兔1.mp4"

这个Mp4视频有多个音频轨,选择其中的Stream 0音频轨,提取出来保存为mp3音频文件,保存在和视频同一个文件夹中。

注意:每一步都要输出信息到屏幕上

源代码:

import ffmpeg

import os

def extract_audio_from_video(video_path, stream_index=0):

获取视频文件的目录和文件名

video_dir, video_filename = os.path.split(video_path)

video_name, video_ext = os.path.splitext(video_filename)

输出信息

print(f"Reading video file: {video_path}")

使用 ffmpeg 获取视频的音频流信息

try:

probe = ffmpeg.probe(video_path)

except ffmpeg.Error as e:

print(e.stderr, file=sys.stderr)

sys.exit(1)

audio_streams = [stream for stream in probe['streams'] if stream['codec_type'] == 'audio']

输出音频流信息

print("Available audio streams:")

for i, stream in enumerate(audio_streams):

print(f"Stream {i}: {stream['codec_name']}")

if stream_index >= len(audio_streams):

print(f"Stream index {stream_index} is out of range.")

return

selected_stream = audio_streams[stream_index]

输出选择的音频流信息

print(f"Selected audio stream: Stream {stream_index} - {selected_stream['codec_name']}")

构建输出音频文件路径

output_audio_path = os.path.join(video_dir, f"{video_name}_stream{stream_index}.mp3")

使用 ffmpeg 提取音频并保存为 MP3 文件

try:

(

ffmpeg

.input(video_path)

.output(output_audio_path, map=f"0:a:{stream_index}", acodec='libmp3lame')

.run(capture_stdout=True, capture_stderr=True)

)

except ffmpeg.Error as e:

print(e.stderr.decode(), file=sys.stderr)

sys.exit(1)

输出完成信息

print(f"Audio extracted and saved to: {output_audio_path}")

使用函数

video_path = "E:\\1-7\\比得兔1.mp4"

extract_audio_from_video(video_path)

相关推荐
小嗷犬7 分钟前
【论文笔记】VCoder: Versatile Vision Encoders for Multimodal Large Language Models
论文阅读·人工智能·语言模型·大模型·多模态
Struart_R12 分钟前
LVSM: A LARGE VIEW SYNTHESIS MODEL WITH MINIMAL 3D INDUCTIVE BIAS 论文解读
人工智能·3d·transformer·三维重建
lucy1530275107913 分钟前
【青牛科技】GC5931:工业风扇驱动芯片的卓越替代者
人工智能·科技·单片机·嵌入式硬件·算法·机器学习
幻风_huanfeng40 分钟前
线性代数中的核心数学知识
人工智能·机器学习
volcanical1 小时前
LangGPT结构化提示词编写实践
人工智能
weyson1 小时前
CSharp OpenAI
人工智能·语言模型·chatgpt·openai
RestCloud1 小时前
ETLCloud异常问题分析ai功能
人工智能·ai·数据分析·etl·数据集成工具·数据异常
IT古董2 小时前
【机器学习】决定系数(R²:Coefficient of Determination)
人工智能·python·机器学习
鲜枣课堂2 小时前
5G-A如何与AI融合发展?华为MBBF2024给出解答
人工智能·5g·华为
hunandede2 小时前
FFmpeg 4.3 音视频-多路H265监控录放C++开发十三:将AVFrame转换成AVPacket。视频编码,AVPacket 重要函数,结构体成员学习
c++·ffmpeg·音视频