Bądź: Wyszukaj na stronie z użyciem Google
reklama:

wtorek, 22 kwietnia 2008

MEncoder – Konwersja z .FLV do .AVI bez trzasków

Autor: , 08:53, wtorek, 22 kwietnia 2008


Większość serwisów internetowych oferujących usługi wideo przechowuje je w formacie FLV. Gdy jednak będziemy chcieli przenieść ulubiony filmik do przenośnego urządzenia zapewne nie będzie ono chciało go otworzyć. MEncoder oferuje konwersję z formatu FLV, więc sytuacja wydaje się prosta. Niestety w tym przypadku całą sprawę komplikuję kiepska współpraca MEncodera z kodekiem dekompresującym dźwięk LAME. Przy próbie konwersji nie wyświetla się co prawda żaden błąd, jednak plik wynikowy ma zupełnie zniekształcony dźwięk. Na wielu forach użytkownicy Ubuntu skarżyli się na tę niedogodność, lecz nie znalazłem tam jasnej odpowiedzi. Po kilku godzinach kombinacji udało mi się stworzyć proste polecenie, który konwertuje pliki FLV na AVI bez zniekształcania dźwięku.

mplayer /home/film.flv -vc null -ac null -dumpaudio -dumpfile /home/audio.mp3
lame --decode /home/audio.mp3 -b 128 -o /home/audio.wav
mencoder /home/film.flv -o /home/film.avi -ofps 22 -vf-add scale=320:240 -vf-add expand=320:240:-1:-1:1 -srate 44100 -ovc xvid -xvidencopts bitrate=300 :max_bframes=0:quant_type=h263 :me_quality=4 -audiofile /home/audio.wav -oac lavc -lavcopts acodec=mp2:abitrate=64
Polecenie używa trzech programów: MEncodera, Mplayera i LAME.
Na początek zgrywamy dźwięk z filmu FLV do osobnego pliku MP3
mplayer /home/film.flv -vc null -ac null -dumpaudio -dumpfile /home/audio.mp3
Następnie przy pomocy LAME dekodujemy dźwięk MP3 do nieskompresowanego pliku WAV
lame --decode /home/audio.mp3 -b 128 -o /home/audio.wav
Na koniec konwertujemy film dołączając zamiast oryginalnej ścieżki dźwiękowej plik WAV z którym MEncoder nie ma problemów.
mencoder /home/film.flv -o /home/film.avi -ofps 22 -vf-add scale=320:240 -vf-add expand=320:240: -1:-1:1 -srate 44100 -ovc xvid -xvidencopts bitrate=300 :max_bframes=0:quant_type=h263 : me_quality=4 -audiofile /home/audio.wav -oac lavc -lavcopts acodec=mp2:abitrate=64

Przygotowałem również prosty skrypt który znacznie przyśpiesza konwertowanie. Wystarczy umieścić plik z rozszerzeniem .flv w katalogu domowym i po uruchomieniu podać jego nazwę (bez rozszerzenia).
W skrypcie należy zamienić nazwę użytkownika z adrian na własną.
[Pobierz skrypt]
Komentarze 8 comments
ffatman pisze...

Jakoze nie uzywam skryptow mam klopot ze zrozumieniem: "Przygotowałem również prosty skrypt który znacznie przyśpiesza konwertowanie. Wystarczy umieścić plik z rozszerzeniem .flv w katalogu domowym i po uruchomieniu podać jego nazwę (bez rozszerzenia).
W skrypcie należy zamienić nazwę użytkownika z adrian na własną."

"Wystarczy umieścić plik z rozszerzeniem .flv w katalogu domowym" - A skrypt? W .gnome2 czy gdzie indziej?

"po uruchomieniu podać jego nazwę (bez rozszerzenia)" - Po ruchomieniu pliku .flv? Po ruchomieniu skryptu? Nie z prawokliku?

Adrian pisze...

Już tłumaczę.
Skrypt można umieścić w dowolnym katalogu, a więcej o tym pisałem niedawno tu:
http://ubuntutweak.blogspot.com/2008/04/skrypty-podstawy-i-skadnia.html

""po uruchomieniu podać jego nazwę (bez rozszerzenia)" - Po ruchomieniu pliku .flv? Po ruchomieniu skryptu? Nie z prawokliku?"
Chodzi tu o to, że po uruchomieniu skryptu należy, w nowo otwartym oknie wpisać nazwę pliku, który chcemy przekonwertować.

ffatman pisze...

Jak mowia moi mlodsi koledzy: Dzienks!

Anonimowy pisze...

ffmpeg -i plik.flv -acodec mp3 plik.mp3

chyba prosciej ;>

Lasoty pisze...

U mnie wystąpił problem z przesunięciem dźwięku. Otóż po przekonwertowaniu filmu z flv do avi mam przesunięty dźwięk o około 1,5s. Wie może ktoś jak to naprawić??

RudY pisze...

DZIĘKI - dobre i po polsku :P

Anonimowy pisze...

Nazwa pliku musi składać się tylko z jednego słowa.
jak podamy nazwę składającą się z kilku słów to po prostu nie zadziała.Oczywiście należy podać właściwą ścieżkę do pliku.

Anonimowy pisze...

bardzo pomocny skrypt tylko nazwę jeszcze katalogu trzeba zmienić na Wideo uwzględniając wielkość pierwszej litery.
I tak:

#!/bin/bash
# By Adrian Nowak
# for UbuntuTweak.blogspot.com

cd "/home/irek/Wideo/przerabianie/"
for i in *.flv;
do

echo "Podaj nazwe"
echo -n ">"
read NAZWA
PLIK="/home/irek/Wideo/przerabianie/"$NAZWA".flv"
NAZWAMP="/home/irek/Wideo/przerabianie/"$NAZWA".mp3"
NAZWAWA="/home/irek/Wideo/przerabianie//"$NAZWA".wav"
NAZWAVI="/home/irek/Wideo/przerabianie"$NAZWA".avi"

mplayer $PLIK -vc null -ac null -dumpaudio -dumpfile $NAZWAMP
lame --decode $NAZWAMP -b 128 -o $NAZWAWA
mencoder $PLIK -o $NAZWAVI -ofps 22 -vf-add scale=320:240 -vf-add expand=420:240:-1:-1:1 -srate 44100 -ovc xvid -xvidencopts bitrate=300:max_bframes=0:quant_type=h263:me_quality=4 -audiofile $NAZWAWA -oac lavc -lavcopts acodec=mp2:abitrate=64

rm $NAZWAMP
rm $NAZWAWA

done;
read koniec

Prześlij komentarz


Popularne posty

Etykiety