如何使用ffmpeg将MP4/MKV/WEBM转换为MP3上的MP3
时间:2020-02-23 14:32:39 来源:igfitidea点击:
在某些时候的每个人都想要或者希望将MP4/MPV/WebM文件转换为Linux上的MP3.
如果我们想在任何Linux系统上实现这一点,请不要担心,因为我对我们有一个很好的解决方案。
FFMPEG允许我们将任何媒体文件从一种格式转换为另一个格式。
我们有一个简单的bash脚本,可用于将MP4/MKV/WEBM媒体文件转换为Linux上的MP3.
脚本可以在几秒钟内将MP4,MKV和WebM视频格式转换为MP3音频格式。
准备工作
ffmpeglame.
我们将有一个小分配,了解如何获得CFMPEG和跛脚的分发。
但对于常见的Linux发行版,请检查下一节。
第1步:安装ffmpeg
对于ARCH Linux用户,安装准备工作; ffmpeg和lame by:
sudo pacman -S lame ffmpeg
对于ubuntu/debian:
sudo apt -y install ffmpeg lame
对于Fedora:
sudo dnf -y install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm sudo dnf -y install https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm sudo dnf -y install ffmpeg ffmpeg-devel lame
对于CentOS 7.
sudo yum -y install epel-release sudo rpm -v --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro sudo rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm sudo yum install ffmpeg ffmpeg-devel lame
CentOS/RHEL 8:在CentOS/RHEL 8上安装FFMPEG
还可以通过手动编译源的FFMPEG来完成安装。
第2步:下载转换脚本
从github下载脚本
wget https://raw.githubusercontent.com/jmutai/dotfiles/master/scripts/mp3con.sh
我们可以在脚本片段下面复制。
#!/usr/bin/env bash # My bash Script to convert mp4 to mp3 # By Josphat Mutai # web: www.theitroad.com # email: Hyman@theitroad # Requires # ffmpeg installed # lame installed # Check https://theitroad.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" | xargs -d "\n" -I {} ffmpeg -i {} -b:a 320K -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/.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
使脚本可执行文件:
chmod +x mp3con.sh
第3步:将MP4/MKV/WEBM媒体文件转换为Linux上的MP3:
执行脚本,(我们可以在包含MP4视频的文件夹中执行此操作)
./mp3con.sh
要不就
sh mp3con.sh
你会看到类似于下面的东西
由于我在带有视频文件的目录内运行脚本,我想转换为MP3,我会选择选项1.按Enter并等待它完成。
成功转换后,生成的音频文件将保存在~/music目录下,其中文件夹名称是包含extentsion -mp3的视频文件的上一个文件夹的名称。
$ls ~/Music/Gospel-mp3 'Broken Vessels (Amazing Grace) Hillsong UNITED from the Sea of Galilee-MlPuR-0XxiA.mp3' 'Hillsong United - '\''Oceans'\'' (Live show at Caesarea)-HVAR85rorvU.mp3' 'Hosanna - From HOLY LAND in Jerusalem - Hillsong United-mqF1EhsBz0A.mp3' 'Jonathan Nelson - I Believe (Island Medley) (LIVE)-vDLByAnQ93Q.mp3' 'No Longer Slaves (Official Lyric Video) - Jonathan David & Melissa Helser - W....mp3' 'Travis Greene - Intentional (Official Music Video).mp3'