3gp文件中的比特率错误,使用ffmpeg转换为mp3

3gp文件中的比特率错误,使用ffmpeg转换为mp3,ffmpeg,mp3,bitrate,Ffmpeg,Mp3,Bitrate,我在手机上录制通话(仅作为音频)。记录正在存储到3gp文件中。当我播放一个文件时,可以提到它比正常对话速度快几倍。我测试过,使用命令在ffplay上播放 ffplay.exe %1 -ar 8000 听起来真的很快 我想使用ffmpeg文件(在Windows上运行的简单批处理脚本)将3gp文件转换为mp3文件。我从命令行开始 ffmpeg.exe -i %1 -ar 8000 -f mp3 %1.mp3 但是mp3的比特音听起来不太好(太快)。我用-b、-b:a和其他参数进行了实验,但比特率

我在手机上录制通话(仅作为音频)。记录正在存储到3gp文件中。当我播放一个文件时,可以提到它比正常对话速度快几倍。我测试过,使用命令在ffplay上播放

ffplay.exe %1 -ar 8000
听起来真的很快

我想使用ffmpeg文件(在Windows上运行的简单批处理脚本)将3gp文件转换为mp3文件。我从命令行开始

ffmpeg.exe -i %1 -ar 8000 -f mp3 %1.mp3
但是mp3的比特音听起来不太好(太快)。我用-b、-b:a和其他参数进行了实验,但比特率没有改变

我使用哪些参数将3gp更改为具有正确比特率值的mp3文件

-ar 8000
强制ffmpeg将输入文件解释为以8kHz采样。是这样,还是你想把采样频率降低到8千赫

如果是,请尝试以下方法:

-af "aresample=8000"

如果您满意,请将此标记为好答案;)

您发出的命令是正确的。我自己也试过了,而且工作正常。因此,首先只需使用1个文件而不是批处理文件重试

这里是命令1

ffmpeg -i input.3gp -ar 32k -f mp3 out.mp3 
结果

out.mp3的比特率为47kbps

命令2

ffmpeg -i inout.3gp -b:a 32k out.mp3
比特率为0.32kbps

所以你可以选择上面的任何一个。
干杯:)

在下面,你会发现一个脚本,我将其修改为包含.3gp文件。 它还提供.mp4.mkv和.webm文件。 声音的清晰度在30k时很好,这就是这里的内容,但是如果你想要更大的文件和更好的声音清晰度,那么试试200k。 例如,调用脚本文件vidconvmp3.sh并保存它。 然后Modch+x vidconvmp3.sh来授权执行。 然后./vidconvmp3.sh和您的批处理将运行并将您的mp3文件放入名为Desktop-mp3的文件夹中,如果您在桌面上运行terminal。。。塔达

#!/usr/bin/env bash

# My bash Script to convert mp4 to mp3
# By NerdJK23
# web: www.computingforgeeks.com
# email: kiplangatmtai@gmail.com

# Requires
# ffmpeg installed
# lame installed
# Check https://computingforgeeks.com/how-to-convert-mp4-to-mp3-on-linux/

echo -ne """
1: Current directory
2: Provide directory
"""
echo ""
echo -n "Selection : "
read selection

case $selection in
    1)
    echo "Okay.."
    echo ""
    echo "Current dir is `pwd` "
    ;;
    2)
    echo ""
    echo -n "Give diretory name: "
    read dir_name

# Check if given directory is valid
if [ -d $dir_name ]; then

    cd "${$dir_name}"
    echo "Current directory is `pwd` "
    echo 
else
    echo "Invalid directory, exiting.."
    echo ""
    exit 10
fi

    echo
    ;;

   *)
       echo
       echo "Wrong selection"
       exit 11
       ;;
esac

echo ""

# Create dir to store mp3 files if it doesn't exist
# First get the current directory name

current_dir=`pwd`
base_name=` basename "$current_dir"`

if [[ ! -d "$base_name"-mp3 ]]; then

echo "$base_name" | xargs  -d "\n" -I {} mkdir {}-mp3
    echo ""
fi
echo ""


# Bigin to covert videos to mp3 audio files
# -d "\n" > Change delimiter from any whitespace to end of line character 

find . -name "*.mp4" -o -name "*.mkv" -o -name "*.webm" -o -name "*.3gp" | xargs  -d "\n"  -I {} ffmpeg -i {} -b:a 30K -vn "$base_name"-mp3/{}.mp3 

# remove video extensions

cd "${base_name}"-mp3

for file_name in *; do      
    mv "$file_name" "`echo $file_name | sed  "s/.mp4//g;s/.mkv//g;s/.3pg//g;s/.webm//g"`";
done

# Move audio directory to ~/Music

if [[ ! -d ~/Music ]]; then
    mkdir ~/Music
fi
cd ..

mv  "$base_name"-mp3 ~/Music/

# Check if conversion successfull

echo ""

if [[ $? -eq "0" ]];then
    echo " All files converted successfully"
else
    echo "Conversation failed"
    exit 1
fi

%1
是文件名。您应该包含完整的
ffmpeg
控制台输出。