Преобразование 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 из любого места файловой системы.


2 комментария

  • Ответить Вячеслав |

    А вот так можно конвертировать видео в mp3: «ffmpeg -i source_video.avi -vn -ar 44100 -ac 2 -ab 192K -f mp3 sound.mp3». Написал потому-что на других сайтах это пишут с ошибкой, и после «-ab 192» не добавляют букву «K».

    • Ответить mihanentalpo |

      По сути, это практически тоже самое, с той разницей, что вместо avconv используется ffmpeg.

Оставить комментарий