Mp4'ü mp3 e çevirme


81

Mp3'e dönüştürmem gereken bir videom var (komut satırından GUI'ye değil): video.mp4

Denedim:

ffmpeg -i -b 192 video.mp4 video.mp3

başarı olmadan. Aşağıdaki hatayı alıyorum:

WARNING: library configuration mismatch
Seems stream 0 codec frame rate differs from container frame rate: 59.83 (29917/500) -> 59.75 (239/4)
WARNING: The bitrate parameter is set too low. It takes bits/s as argument, not kbits/s 
Encoder (codec id 86017) not found for output stream #0.0

bu yüzden topallayı denedim:

lame -h -b 192 video.mp4 video.mp3

Alırım:

Warning: unsupported audio format

Bir şey mi eksik?


1
-b 'den -ab ye
duffydack

Yanıtlar:


115

Sabit Bit Hızı Kodlamalı FFmpeg için (CBR):

ffmpeg -i video.mp4 -vn \
       -acodec libmp3lame -ac 2 -ab 160k -ar 48000 \
        audio.mp3

veya Değişken Bit Hızı Kodlama (VBR) kullanmak istiyorsanız:

ffmpeg -i video.mp4 -vn \
       -acodec libmp3lame -ac 2 -qscale:a 4 -ar 48000 \
        audio.mp3

VBR örneği, 140 ... 185 bit hızı aralığında bir 165 Kbit / s hedef bit hızına sahiptir.


7
Bu topalın zaten kurulu olduğunu varsayarsak.
Darth Egregious

ha teşekkürler, bu tam olarak aradığım şey
aki

2
Buna sadece ekstra bir adımsudo apt-get install libavcodec-extra-53
Jason Scheirer

2
Veya bu Ubuntu olduğundan, diğer şeylerin yanı sıra libavcodec-extra-53'ü içeren ubuntu-sınırlı-ekstralar . Kurulum CD'sinin yapmasını istediği gibi bunu zaten yüklemiş olabilirsiniz.
thomasrutter

1
Düzenlemem bir VBR örneğine eklendi ve sabit bit hızı örneğini CBR olarak etiketledi ...
andrew.46

12

Sesi çıkarmak için kullandığı mplayer(böylece her şeyi mplayerdöndürebilen bir dönüştürücüyü) kullanan bir kabuk betiği kullandım ve sonra onu kullanarak kodladım lame. İşte kod:

#! /bin/bash
# any2mp3.sh
# Converts to mp3 anything mplayer can play
# Needs mplayer amd lame installed

[ $1 ] || { echo "Usage: $0 file1.wma file2.wma"; exit 1; }

for i in "$@"
do
    [ -f "$i" ] || { echo "File $i not found!"; exit 1; }
done

[ -f audiodump.wav ] && {
    echo "file audiodump.wav already exists"
    exit 1
}

for i in "$@"
do
    ext=`echo $i | sed 's/[^.]*\.\([a-zA-Z0-9]\+\)/\1/g'`
    j=`basename "$i" ".$ext"`
    j="$j.mp3"
    echo
    echo -n "Extracting audiodump.wav from $i... "
    mplayer -vo null -vc null -af resample=44100 -ao pcm:waveheader:fast \
    "$i" >/dev/null 2>/dev/null || {
        echo "Problem extracting file $i"
        exit 1
    }
    echo "done!"
    echo -n "Encoding to mp3... "
    lame -m s audiodump.wav -o "$j" >/dev/null 2>/dev/null
    echo "done!"
    echo "File written: $j"
done
# delete temporary dump file
rm -f audiodump.wav

İlk önce ihtiyacın var apt-get install mplayer lame. Ondan sonra, kodu '' any2mp3.sh '' adlı bir dosyaya koyun, yürütmek için izin verin ve bunu $ PATH'inize koyun;

$ any2mp3.sh file.mp4 another-file.wma yet-another.file.ogg

Aynı adı taşıyan bir mp3e aktarılan her dosyayı dönüştürür.

Bu biraz zor, ama iş yapıyor.


her şeyi yaptım ve -rw-r--r-- 1 aki aki 7104 2011-12-02 10:41 video.mp3
alıyorum

Bu garip ... Görünüşe göre topal dalgayı dönüştüremiyor. >/dev/null 2>/dev/nullhata mesajını görmek için kodu kaldırmayı deneyin .
elias

şans yok, işte çıktı: pastebin.com/ALrTqCmk her iki dönüşümün de
aki

Ve audiodump.wav oynuyor mu? Öyle değilse, mplayervideo.mp4 dosyasını oynatmak ve sonra dışarı şans senin'gerçekten olamazdı. Belki dönüştürmeye çalıştığınız dosya bozuk, işlemi başka bir dosyayla test edebilir misiniz?
elias

hayır, dalga oynatılmaz, ne de mplayer mp4 çalmaz
aki

11

SoundConverter Ses dönüştürücüyü takın

Yazılım merkezi üzerinden kurun

GNOME Masaüstü için önde gelen ses dosyası dönüştürücüsüdür. GStreamer'ın okuyabileceği her şeyi okur (Ogg Vorbis, AAC, MP3, FLAC, WAV, AVI, MPEG, MOV, M4A, AC3, DTS, ALAC, MPC, Kısaltılmış, APE, SID, MOD, XM, S3M, vb ... ) ve WAV, FLAC, MP3, AAC ve Ogg Vorbis dosyalarına yazar veya bir GNOME Ses Profili kullanır.

SoundConverter, kullanımı basit ve çok hızlı olmayı hedeflemektedir. Çok iş parçacıklı tasarımı sayesinde, dönüştürmeyi hızlandırmak için mümkün olduğu kadar çok sayıda çekirdek kullanacaktır. Ayrıca videolardan sesi de çıkarabilir.

VLC ile MP3 MP4 dönüştürmek

  • VLC Media Player'ı açın. "Medya Aç" penceresine girmek için "Medya"> "Dönüştür" ü tıklayın. Windows Gezgini'ne girmek için ekranın sağ tarafındaki "Ekle" düğmesini tıklayın. Dönüştürmek istediğiniz sabit sürücünüzdeki MP4'ü bulun. Ekranın altındaki "Dönüştür" düğmesini tıklayın.

  • Hedef dosyanın adını seçin.

  • "Audio Codec" sekmesine tıklayın ve "Codec" açılır kutusundan "MP3" seçin. MP4'ünüzü MP3 sesine dönüştürmeye başlamak için "Başlat" düğmesine basın.

  • Başlat'a tıklayın


4
Ancak OP bir komut satırı çözümü istedi.
Nathan Osman

7

Bu küçük betiği m4a'yı mp3'e dönüştürmek için kullanıyorum.

#!/bin/bash
for i in *.m4a; do
    avconv -i "$i" -vn -acodec libmp3lame -ac 2 -ab 160k -ar 48000 "`basename "$i" .m4a`.mp3"
done

Eğer avconvffmpeg ffmpeg
kurulmazsa

5

Bence problem senin ffmpeg komutunun sentaksında.

ffmpeg -i source_filename -vn -ab 192k -acodec libmp3lame -ac 2 output_filename

çalışmalı.


alıyorum: Beklenen ac için sayı ancak bulundu: liblamemp3
aki

2

İlk önce birkaç şeyi anlamanız gerekir.

MP3bir ses formatıdır.

MP4Bir olan bir video biçimi.

Sesi MP4'ten çıkarmak (ve MP3 olarak kaydetmek için), ses dönüştürücüyü kullanın Ses dönüştürücüyü takın.


1
+1 mp4 ve mp3 arasındaki farkı işaret etmek için aferin.
fossfreedom

2

Upd_Sanity.mp4 yazılımını Upd_Sanity.mp3 cihazına dönüştürmek için

$ sudo apt-get install ffmpeg && sudo apt-get install libavcodec-extra-53

$ ffmpeg -i Upd_Sanity.mp4 -vn -acodec libmp3lame -ac 2 -ab 160k -ar 48000 Upd_Sanity.mp3

VEYA ( ffmpegkullanımdan kaldırıldığı gibi)

$ avconv -i Upd_Sanity.mp4 -vn -acodec libmp3lame -ac 2 -ab 160k -ar 48000 Upd_Sanity.mp3

Açıklama

   -i        input file name
   -vn       disable video recording
   -acodec   force audio codec to libmp3lame
   -ac       set the number of audio channels
   -ar       set the audio sampling frequency

Sık kullanmanız gerekirse,

1. ADIM: Dönüşüm gerçekleştiren bir bash işlevi oluşturun

## utilities.sh
convertMP4toMP3(){
echo -n "Enter source mp4 file : "
read sourceFile

echo -n "Enter destination mp3 file : "
read destFile

avconv -i $sourceFile -vn -acodec libmp3lame -ac 2 -ab 160k -ar 48000 $destFile
}

ADIM 2: bu bash dosyasını kaynakla

 $ source utilities.sh

ADIM 3: yukarıdaki fonksiyona dönüşüm çağırmaya başlayın convertMP4toMP3

 $ convertMP4toMP3
 Enter source mp4 file : Upd_Sanity.mp4
 Enter destination mp3 file : UPd_sanity.mp3

Referanslar

utilities.sh


1

FFmpeg kullanıyorsanız ve çıkışı toprağa geçirirseniz (stdout ve stdin aracılığıyla) Lame'i doğrudan kullanmak mümkündür. Bir örnek:

ffmpeg -i video.mp4 -vn -f wav - | \
       lame -V 3 - audio.mp3

Bu, onları incelemek isterseniz topalın önemli komut satırı seçeneklerini kullanmanıza izin verir ...


0

vlc veya ses dönüştürücüsüyle dönüştürmeyi deneyebilirsiniz http://soundconverter.org/ ses dönüştürücüsüne gidin ya da yazılım merkezinizde bulun ya da dönüşüm için vlc kullanın. hepsi buğulamaya başlayın



0

GUI olsa da, MP4'ten MP3'e dönüşüm yaparken, sabit ya da değişken kontrolü ve çıktı kalitesini kontrol etmek için Audacity'yi kullanabilirsiniz.

Audacity'yi açın, hedef MP4 dosyasını açın, DOSYA, İHRACAT'a tıklayın ve ardından çıkış türünü seçin (varsayılan MP3'tür) ve KAYDET'e tıklayın. MP4'ün ses kanalını / kanallarını açar, MP3 sesini her yere (ve ne şekilde kaydederseniz saklar) aktarır ve çıkarsınız (400 mb MP4'ü bir 3Ghz AMD çipinde MP3'e dönüştürmek yaklaşık 10 dakikadır. , seste 160kb / sn'lik bir örnekleme oranıyla ve ses dosyası MP4'ün yarısı kadar büyük olacaktır).

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.