我在手机上录制通话(仅限音频)。记录存储到3gp文件。当我播放单个文件时,可以提到它比普通的会话速度快几倍。我测试过,使用命令
在ffplay上播放ffplay.exe %1 -ar 8000
听起来像一个真正的速度。
我想使用ffmpeg文件(在Windows上运行简单的批处理脚本)将3gp文件转换为mp3文件。我从命令行开始
ffmpeg.exe -i %1 -ar 8000 -f mp3 %1.mp3
但是mp3的bitaire听起来不太好(太快)。我用-b,-b:a和其他参数进行了实验,但比特率没有变化。
我使用哪些参数将3gp更改为具有适当比特率值的mp3文件?
答案 0 :(得分:0)
-ar 8000
强制ffmpeg将您的输入文件解释为以8kHz采样。是这种情况还是你试图将其下采样到8 kHz?
如果是这样,请尝试以下方法:
-af "aresample=8000"
如果您对此感到满意,请将此标记为正确答案;)
答案 1 :(得分:0)
你发射的命令是正确的。我自己尝试过它们并且正常工作。首先,只需使用1个文件而不是batch files
再次尝试。
这是命令1
ffmpeg -i input.3gp -ar 32k -f mp3 out.mp3
结果
out.mp3的比特率为47kbps
命令2
ffmpeg -i inout.3gp -b:a 32k out.mp3
outrate of out.mp3 32kbps
所以你可以选择上面的任何一个。 干杯:)
答案 2 :(得分:0)
在下面,您将找到一个我更改为包含.3gp文件的脚本。 它还具有.mp4 .mkv和.webm文件。 声音的清晰度很好,为30k,这就是这里的声音,但是如果您想要更大的文件并具有更好的声音清晰度,请尝试200k。 例如,调用脚本文件vidconvmp3.sh并保存。 然后,Modch + x vidconvmp3.sh授权执行。 然后,。/ vidconvmp3.sh和您的批处理将通过,并将您的mp3文件放入一个名为Desktop-mp3的文件夹中,如果您在桌面上运行终端的话。
#!/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