从视频文件中提取的音频太大

2024-05-15 11:17:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试从视频文件中提取音频。我尝试过像moviepy,ffmpeg这样的python库。 提取的音频文件太大。对于大小为75 MB的音频文件,moviepy的音频文件大小约为1.1 GB。即使比特率为16 kbps,采样率为16000 Hz,提取的文件大小也将达到200 MB。任何其他库或提取的音频文件大小至少与完整视频文件相同或小于完整视频文件的方式。你知道吗

'ffmpeg -i trial_copy.mp4 -ac 1 -ab 16000 -ar 16000 output.wav'

我在ffmpeg中使用上述命令。你知道吗


Tags: 方式mb音频ffmpegac音频文件mp4视频文件
3条回答

ffmpeg应该安装程序ffprobe,该程序可以提供有关电影文件中用于音频的文件格式的信息。你知道吗

ffprobe -v error -select_streams a:0 -show_entries stream=codec_name -of default=noprint_wrappers=1:nokey=1 "trial_copy.mp4"

例如opus

然后它可以用来从文件中复制音频而不转换格式

ffmpeg -v error -i "trial_copy.mp4" -vn -acodec copy "trial_copy.opus"

我将它用作bash脚本,称为ffextract_audio

#!/bin/bash

# get codec name / audio file extension
# -v error 
#       : without extra info
# -select_streams a:0  
#       : check only audio stream
# -show_entries stream=codec_name  
#       : get codec_name
# -of default=noprint_wrappers=1:nokey=1 
#       : remove key name and wrappers 
# -i "$1"
#       : input file    
EXT=$(ffprobe -v error -select_streams a:0 -show_entries stream=codec_name -of default=noprint_wrappers=1:nokey=1 "$1")
BASE=${1%.*}

echo output: $BASE.$EXT 

# extract audio from $1 and save in $2
# -v error 
#       : without extra info
# -i "$1"
#       : input file
# -vn
#       : without video
# -acodec copy
#       : copy audio (doesn't change codec)
# "$1.$EXT"
#       : output file with extra extension
ffmpeg -v error  -i "$1" -vn -acodec copy "$BASE.$EXT"

使用

ffextrac_audio trial_copy.mp4

我能找到你

trial_copy.opus

试着用它,https://sourceforge.net/projects/gmkvextractgui/

或者

ffmpeg -i trial_copy.mp4 -f s16le -ar 16000 output.wav

Extracted audio from video files is too large

您正在输出WAV。这是未压缩的,因此它将忽略您的比特率(-ab),并将创建比输入中的压缩音频更大的文件。See Wav audio file compression not working。你知道吗

Any other libraries or the way by which extracted audio files are at least same size or less than complete video file.

您可以使用stream copy模式(-c copy)提取音频而无需重新编码:

ffmpeg -i input.mp4 -map 0:a -c copy output.m4a

文件大小将是相同的,因为你基本上只是复制和粘贴音频(重新muxing)。你知道吗

相关问题 更多 >