Преобразование mp4 в mp3 в консоли Debian Jessie 8.0

Youtube, как известно, хранит в себе не только многочисленные видео с котами и видеоблоггерами, но и неплохие подборки музыки. Например, одно- и двух-часовые Drum’n’Bass миксы, которых великое множество.
Прослушивание музыки в youtube на компьютере или планшете устраивает до тех пор, пока не решишь послушать эту музыку в машине, для чего понадобится флешка с mp3-файлами.

Скачать видео с ютюба – не проблема. Самый простой способ – в адресной строке добавить в начале доменного имени “youtube.com” буквы “ss”, например, из вот такой ссылки “http://www.youtube.com/watch?v=h2Ngh0Q6I4U” получается “http://www.ssyoutube.com/watch?v=h2Ngh0Q6I4U
После открытия такой ссылки, сервис savefrom.net предложит скачать данное видео.

Проблема в том, как сконвертировать скачанные видео-ролики в mp3, ведь большинство магнитол умеют читать с флешки только mp3-файлы, и есть mp4 или, уж тем более, flv откажутся.

Способов уже описана масса, я же предлагаю простой bash-скрипт, использующий avconv (форк ffmpeg) для своей работы.

Установим avconv:

# apt-get install libav-tools

Создадим скрипт, например tomp3.sh, и поместим в него следующий код:

FILE=$1
if [ -z "$FILE" ]
then
	echo "File doesn't specified";
	exit
fi
REALFILE=`realpath "$FILE"`
FILE_WO_EXT=`echo "$REALFILE" | sed 's/\.[^.]*$//'`
MP3FILE="${FILE_WO_EXT}.mp3"
echo "srouce file:$REALFILE"
echo "mp3 file:$MP3FILE"
if [ -e "$MP3FILE" ]
then
	echo "MP3 file already exists"
	exit
fi
avconv -i "$REALFILE" -threads 2 -acodec libmp3lame -ab 160k -vn "$MP3FILE"

Делаем скрипт выполняемым:

$ chmod +x ./tomp3.sh

Выполняем конвертацию некоего файла:

$ ./tomp3.sh /home/user/music/DnB/Melodic\ liquid\ dnb\ Party\ vynil\ mix.mp4

Выполняем конвертацию множества файлов в папке:

$ find /home/user/music/DnB -type f -exec ./tomp3.sh {} \;

P.S. Для удобства использования таких скриптов можно создать папку ~/bin, скопировать скрипт туда, после чего добавить в файл ~/.profile

if [ -d "$HOME/bin" ] ; then
    PATH="$HOME/bin:$PATH"
fi

после этого вы сможете выполнять tomp3.sh из любого места файловой системы.


So, what do you think ?