LINUX.ORG.RU

> Ищу программу для перекодирования mp3 в ogg

что щас меня закидают гнилыми помидорами за ответ не в тему, но... ЗАЧЕМ еще больше убивать качество такой конвертацией?

по теме — софта не знаю, но следующая версия deadbeef вроде такое будет уметь.

waker ★★★★★ ()

mp32ogg - A perl script to convert MP3 files to Ogg Vorbis files, retaining ID3 information, bitrate, and optionally renaming the output files, as well as deleting the originals. http://faceprint.com/code/

anonymous ()

dir2ogg, например. Хотя насчёт кодировок не знаю, лучше их сначала перевести в ID3v2.

Вот только это в целом плохая идея. Прочти это: http://www.vorbis.com/faq/#transcode

GotF ★★★★★ ()
Ответ на: комментарий от GotF

> лучше их сначала перевести в ID3v2.

в id3v2 тоже бывает кривая кодировка :)

waker ★★★★★ ()

главное чтобы кодировку исправляло

LSHBY ()

Перекодирую только из FLAC. В нём всегда юникод сразу... Советую тоже.

Zenitar ()

Не делай этого, в какчестве сильно потеряешь.

А кодировку лучше исправить через Easytag.

panter_dsd ★★★★ ()
Ответ на: комментарий от GotF

Я даю три файла, у каждого своя кодировка. Он может автоматически распознать эти кодировки и сделать одну правильную?

LSHBY ()
Ответ на: комментарий от LSHBY

и еще больше. Внутри одного файла три разные кодировки. Нужно сделать одну правильную. Так сможет?

LSHBY ()

SoundConverter is the leading audio file converter for the GNOME Desktop. It reads anything GStreamer can read (Ogg Vorbis, AAC, MP3, FLAC, WAV, AVI, MPEG, MOV, M4A, AC3, DTS, ALAC, MPC, Shorten, APE, SID, MOD, XM, S3M, etc...), and writes to WAV, FLAC, MP3, AAC, and Ogg Vorbis files.

SoundConverter aims to be simple to use, and very fast. Thanks to its multithreaded design, it will use as many cores as possible to speed up the conversion. It can also extract the audio from videos.

G-UNiX ★★ ()
Ответ на: комментарий от waker

Поддерживаю! а вообще, написать скрипт --- дело ~полчаса.

do0dlez ★★ ()
Ответ на: комментарий от LSHBY

>и еще больше. Внутри одного файла три разные кодировки. Нужно сделать одну правильную. Так сможет?

Не, это фигня. Нужно ещё более «практичные» условия: всё это должно происходить ночью, в пятницу тринадцатого, в полнолунье, стоя в гамаке и в противогазе.

Led ★★★☆☆ ()

#!/bin/sh # this script has been written by Eddy # # mp32ogg - encodes mp3 files into ogg with min bitrate 192k # # Создан 06-го Март 2006 года в 21:58 # #if [ -e /dev/shm/MPEG.wav -o -e /dev/shm/1.ogg ]; then # echo «Another process is alredy running» # exit #else WAV=MP32OGG$$.wav OGG=MP32OGG$$.ogg for FILE in $* do if [ «`ext $FILE`» == «mp3» ]; then echo «uncompressing $FILE» NAME=`echo $FILE|sed «s/\.[mM][pP]3//»` cp $FILE /dev/shm/$FILE mpg123 /dev/shm/$FILE -w /dev/shm/$WAV > tmp 2>&1 rm /dev/shm/$FILE unix2dos tmp >/dev/null 2>&1 encode CP1251 tmp 2>&1 #recode Title=`cat tmp|sed -n '/Title/p'|sed «s/\(Title *: *\)\(.*\)\( *Artist.*\)/\2/»|sed «s/ */ /g»` [ «$Title» = «» ] && Title=$NAME Artist=`cat tmp|sed -n '/Title/p'|sed «s/\(.*Artist *: *\)\(.*\)\( *\)/\2/»|sed «s/ */ /g»` if [ «$Artist» = «» ]; then AR=`cd ../;pwd` Artist=`basename $AR` fi Album=`cat tmp|sed -n '/Album/p'|sed «s/\(Album *: *\)\(.*\)\( *Year.*\)/\2/»|sed «s/ */ /g»` if [ «$Album» = «» ]; then AL=`pwd` Album=`basename $AL` fi Year=`cat tmp|sed -n '/Album/p'|sed «s/\(.*Year *: *\)\(.*\)/\2/»|sed «s/ *//g»` Genre=`cat tmp|sed -n '/Comment/p'|sed «s/\(.*Genre *: *\)\(.*\)/\2/»|sed «s/ */ /g»` #Brate=`cat tmp|grep «kbit»|sed «s/\(MPEG 1.0 layer III, \)\(.*\)\( kbit.*\)/\2/»` Brate=`cat tmp|grep «kbit»|sed -e «s/\(.*\)\([0-9]\{3\} kbit\)\(.*\)/\2/» -e «s/\([0-9]\{3\}\)\(.*\)/\1/»` NUM=`strings $FILE|head -n 6|grep «TCON»|sed «s/TCON.*//g»` Num="" if [ «$NUM» == «» -o «$NUM» == «v» ]; then NUM=`strings $FILE|head -n 12|grep «/»|sed «s/\(.*\)\(\/.*\)/\1/»` fi if [ «$NUM» != «» -a $NUM -gt 0 ] >/dev/null 2>&1; then Num="-N $NUM" fi echo «Encoding $NAME» echo «Bitrate:$Brate Num:$NUM Genre:$Genre Title:$Title Alb:$Album Y:$Year Arti:$Artist » oggenc -b «$Brate» /dev/shm/$WAV $Num -G «$Genre» -t «$Title» -l «$Album» -d «$Year» -a «$Artist» -o /dev/shm/$OGG >/dev/null rm /dev/shm/$WAV mv /dev/shm/$OGG «$NAME.ogg» rm tmp [ -e «$NAME.ogg» ] && rm $FILE fi done Что нужно - допилите сами

Eddy_Em ☆☆☆☆☆ ()
Ответ на: комментарий от Eddy_Em

Тьфу:

#!/bin/sh
# this script has been written by Eddy 
#
#		mp32ogg - encodes mp3 files into ogg with min bitrate 192k
#
# Создан 06-го Март 2006 года в 21:58
#
#if [ -e /dev/shm/MPEG.wav -o -e /dev/shm/1.ogg ]; then
#    echo "Another process is alredy running"
#    exit
#else
WAV=MP32OGG$$.wav
OGG=MP32OGG$$.ogg
for FILE in $*
do
if [ "`ext $FILE`" == "mp3" ]; then
echo "uncompressing $FILE"
NAME=`echo $FILE|sed "s/\.[mM][pP]3//"`
cp $FILE /dev/shm/$FILE
mpg123 /dev/shm/$FILE -w /dev/shm/$WAV > tmp 2>&1
rm /dev/shm/$FILE
unix2dos tmp >/dev/null 2>&1
encode CP1251 tmp 2>&1 #recode
Title=`cat tmp|sed -n '/Title/p'|sed "s/\(Title *: *\)\(.*\)\( *Artist.*\)/\2/"|sed "s/  */ /g"`
[ "$Title" = "" ] && Title=$NAME
Artist=`cat tmp|sed -n '/Title/p'|sed "s/\(.*Artist *: *\)\(.*\)\( *\)/\2/"|sed "s/  */ /g"`
if [ "$Artist" = "" ]; then
    AR=`cd ../;pwd`
    Artist=`basename $AR`
fi
Album=`cat tmp|sed -n '/Album/p'|sed "s/\(Album *: *\)\(.*\)\( *Year.*\)/\2/"|sed "s/  */ /g"`
if [ "$Album" = "" ]; then
    AL=`pwd`
    Album=`basename $AL`
fi
Year=`cat tmp|sed -n '/Album/p'|sed "s/\(.*Year *: *\)\(.*\)/\2/"|sed "s/ *//g"`
Genre=`cat tmp|sed -n '/Comment/p'|sed "s/\(.*Genre *: *\)\(.*\)/\2/"|sed "s/  */ /g"`
#Brate=`cat tmp|grep "kbit"|sed "s/\(MPEG 1.0 layer III, \)\(.*\)\( kbit.*\)/\2/"`
Brate=`cat tmp|grep "kbit"|sed -e "s/\(.*\)\([0-9]\{3\} kbit\)\(.*\)/\2/" -e "s/\([0-9]\{3\}\)\(.*\)/\1/"`
NUM=`strings $FILE|head -n 6|grep "TCON"|sed "s/TCON.*//g"`
Num=""
if [ "$NUM" == "" -o "$NUM" == "v" ]; then
    NUM=`strings $FILE|head -n 12|grep "/"|sed "s/\(.*\)\(\/.*\)/\1/"`
fi
if [ "$NUM" != "" -a $NUM -gt 0 ] >/dev/null 2>&1; then
    Num="-N $NUM"
fi
echo "Encoding $NAME"
echo "Bitrate:$Brate Num:$NUM Genre:$Genre Title:$Title Alb:$Album Y:$Year Arti:$Artist " 
oggenc -b "$Brate" /dev/shm/$WAV $Num -G "$Genre" -t "$Title" -l "$Album" -d "$Year" -a "$Artist" -o /dev/shm/$OGG >/dev/null
rm /dev/shm/$WAV
mv /dev/shm/$OGG "$NAME.ogg"
rm tmp
[ -e "$NAME.ogg" ] && rm $FILE
fi
done

Eddy_Em ☆☆☆☆☆ ()
Ответ на: комментарий от LSHBY

Внутри одного файла три разные кодировки.

Да ещё и не в том формате... Не проще удалить это Г и скачать в нормальном виде?

Axon ★★★★★ ()

Найди туже музыку в flac и пережми ее в ogg.

dikiy ★★★★☆ ()

Для перекодирования использую Pacpl.
Умеет создавать копию структуры каталогов, поддерживает много форматов.
Теги исправлять не умеет, но для этого есть другие инструменты.

firestarter ★★★☆ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.