Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Pewnie by się dało mplayerem.
mplayer *.flv -ao pcm
Powstanie plik audiodump.wav który przekonwertujemy lame
lame -h audiodump.wav -o *.mp3
Pozdrawiam
Offline
:D Wielkie dzięki za szybką odpowiedź :D
Za pierwszym razem nie wiedzieć czemu wszystko zrobiło się kolorowe i ekran zaczął migać(może to dlatego, że byłem zalogowany jako root?) ale teraz śmiga jak marzenie.
Jeszcze raz wielkie dzięki i pozdrawiam :D
Offline
Można jeszcze tak (nawet lepiej, bo wycina dosłownie tylko całą ścieżkę z filmiku bez konwersji żadnych):
ffmpeg -i video.flv -acodec copy music.mp3
Wymagania:
ffmpeg
A że standardowo w flv są mp3 to nic się nie czeka;) Od razu wychodzi ładny plik;) Polecam.
Offline
NIC, dzięki, w sumie to by bardzo ułatwiło sprawę ale nie ma łatwo - mp3 które utworzył ffmpeg strasznie skrzeczy, jest jakieś takie bez wyrazu ;) No i jeszcze problem z czasem tzn. w odtwarzaczu wskakują jakieś magiczne liczby w miejsce normalnego czasu utworu. Może ktoś juz miał ten problem, pogrzebie trochę, może coś znajdę.
Offline
Pozwoliłem sobie zmodyfikować trochę skrypt ilin'a.
I zrobiłem coś takiego:
read -p "Podaj nazwe filmu: " nazwa mplayer $nazwa -ao pcm lame -h audiodump.wav -o $nazwa.mp3
Dzięki temu read, wystarczy wpisać nazwę filmu z rozszerzeniem, a gdy wpisze się po nazwie filmu * to nawet roz. nie trzeba.
Testowałem na .avi i .flv
Offline
Mafioss napisał(-a):
Pozwoliłem sobie zmodyfikować trochę skrypt ilin'a.
I zrobiłem coś takiego:
Jak modyfikować to modyfikować ;) .
#!/bin/bash if [ -n "$1" ]; then nazwa=$1 else read -p "Podaj nazwe filmu: " nazwa fi mplayer "$nazwa" -ao pcm -vo null lame -h audiodump.wav -o "${nazwa%%.*}".mp3 rm audiodump.wav
Można podać plik do przetworzenia jako argument (tylko jeden, ale dodanie przetwarzania wielu nie jest szczególnie trudne), dzięki czemu można skorzystać z dopełniania nazw tabulatorem (read tego nie oferuje, co może być przeszkodą chociażby gdy nie pamięta się dokładnej nazwy). Do tego sprząta po sobie i nie wyświetla filmu.
Chociaż to taka art pour l'art, osobiście i tak użyłbym ffmpeg.
Offline
a jak ogg uzyskac?
Offline
Zamiast lame użyć
oggenc -i audiodump.wav -o plik.ogg
Pozdrawiam
Offline
Z tego wszystkie zrobiłem malutkie narzędzie do zarządzania kompresją muzyki z filmów.
Obsługuje: wybór formatu (ogg czy mp3), ustawienie głośności kompresji - dwie możliwości, odtworzenie otrzymanego pliku.
#!/bin/bash ##################################################### # Video to Music # # v. 0.7.2 RC2 # # Autor: Mafioss (mafioss@jabster.pl) # # Skrypt na licencji: Creatvie Commons # # Uznanie autorstwa-Użycie niekomercyjne 2.5 Polska # # http://creativecommons.org/licenses/by-nc/2.5/pl/ # ##################################################### function czytaj(){ clear read -p "Podaj nazwe filmu wraz z rozszerzeniem: " nazwa break } function menu(){ clear echo -e "\e[32;40mJaki kodek muzyki wybierasz?\033[00m\\n" echo "Dostępne są:" select kodek in 'OGG Vorbis' 'Lame MP3' do case $kodek in "OGG Vorbis") code='oggenc -i' roz=".ogg";; "Lame MP3") code='lame -h' roz=".mp3" ;; esac break done } function volume(){ clear echo -e "\e[30;42mJaką głośność kompresji ustawiasz?\033[00m\\n" echo "Dostępne są:" select volum in 'Gotowe ustawienia głośności - w %' 'Ustawiasz sam głośność - podajesz 0 - 100' do case $volum in "Gotowe ustawienia głośności - w %") volume1 ;; "Ustawiasz sam głośność - podajesz 0 - 100") read -p "Podaj głośność w sklali 0 - 100: " proc | amixer set 'PCM',0 $proc% on ;; esac break done } function volume1(){ clear echo -e "\e[30;43mJaką głośność kompresji ustawiasz?\033[00m\\n" echo "Dostępne są w %:" select volum1 in '10%' '20%' '30%' '40%' '50%' '60%' '70%' '75%' '80%' '90%' '100%' do case $volum1 in "10%") amixer set 'PCM',0 10% on;; "20%") amixer set 'PCM',0 20% on;; "30%") amixer set 'PCM',0 30% on;; "40%") amixer set 'PCM',0 40% on;; "50%") amixer set 'PCM',0 50% on;; "60%") amixer set 'PCM',0 60% on;; "70%") amixer set 'PCM',0 70% on;; "75%") amixer set 'PCM',0 75% on;; "80%") amixer set 'PCM',0 80% on;; "90%") amixer set 'PCM',0 90% on;; "100%") amixer set 'PCM',0 100% on;; esac break done } function kompresuj(){ clear mplayer "$nazwa" -ao pcm -vo null $code audiodump.wav -o "${nazwa%%.*}"$roz rm audiodump.wav amixer set 'PCM',0 75% on } function play(){ clear echo -e "\e[35;40m Co chcesz zrobic z uzyskanym plikiem: ${nazwa%%.*}$roz ? \033[00m\\n" echo "Skrypt umożliwia:" select pla in 'Odtworzyć go' 'Zakończyć skrypt' do case $pla in "Odtworzyć go") mplayer ${nazwa%%.*}$roz ;; "Zakończyć skrypt") exit ;; esac break done } czytaj ; menu ; volume ; kompresuj; play ;
Jak są jakieś bugi to zgłaszać.
Ostatnio edytowany przez Mafioss (2008-01-04 16:19:49)
Offline
Dodam ze do wycięcia scieżki dźwiękowej z avi (żadnego flasha nie miałem pod ręką by sprawdzic) możemy uzyc tez programu tcextract z pakietu transcode.
tcextract -a 0 -i film.avi -x mp3 > ścieżka.mp3
Pozdrawiam
Offline
Mafioss: Ja zgłaszam buga:
echo "My proponujemy:"
.
Wy, czyli kto? :> Ty ze skryptem, czy skrypt z Tobą?
Offline
głośniości
cioś zia bajdzo zmiękciło się ;)
Offline
Bugi poprawione.
=====
Najnowsza wersja. Na KDE.
Wymaga: kdialog, mplayer, lame, oggvorbis
Opcjonalnie: kmplayer
Paczka .deb: -wkrótce-
Bugi zgłaszać na PW lub w tym topicku. Oto kod:
#!/bin/bash ##################################################### # KDialog Video to Music (kvtm) # # v. 0.8 # # Autor: W. K (mafioss@jabster.pl) # # Skrypt na licencji: Creatvie Commons # # Uznanie autorstwa-Użycie niekomercyjne 2.5 Polska # # http://creativecommons.org/licenses/by-nc/2.5/pl/ # ##################################################### function czytaj(){ nazwa=`kdialog --getopenfilename 'Wybierz film' --title "VTM"`; } function menu(){ zmienna=`kdialog --menu "Jaki kodek muzyki wybierasz" "L" "Lame MP3" "OGG" "OGG Vorbis"` if [ "$zmienna" = "L" ]; then code="lame -h" roz="*.mp3" fi if [ "$zmienna" = "OGG" ]; then code="oggenc -i" roz="*.ogg" fi } function volume(){ zmienna1=`kdialog --menu "Jaką głośność kompresji ustawiasz? Dostępne są:" "D" "Gotowe ustawienia głośności" "U" "Ustawiasz sam głośność"` if [ "$zmienna1" = "D" ]; then volume1 fi if [ "$zmienna1" = "U" ]; then volume2 fi } function volume1() { zmienna2=`kdialog --menu "Dostępne głośności w %" "10" "10%" "20" "20%" "30" "30%" "40" "40%" "50" "50%" "60" "60%" "70" "70%" "75" "75%" "80" "80%" "90" "90%" "100" "100%"` if [ "$zmienna2" = "10" ]; then amixer set 'PCM',0 10% on; fi if [ "$zmienna2" = "20" ]; then amixer set 'PCM',0 20% on; fi if [ "$zmienna2" = "30" ]; then amixer set 'PCM',0 30% on; fi if [ "$zmienna2" = "40" ]; then amixer set 'PCM',0 40% on; fi if [ "$zmienna2" = "50" ]; then amixer set 'PCM',0 50% on; fi if [ "$zmienna2" = "60" ]; then amixer set 'PCM',0 60% on; fi if [ "$zmienna2" = "70" ]; then amixer set 'PCM',0 70% on; fi if [ "$zmienna2" = "75" ]; then amixer set 'PCM',0 75% on; fi if [ "$zmienna2" = "80" ]; then amixer set 'PCM',0 80% on; fi if [ "$zmienna2" = "90" ]; then amixer set 'PCM',0 90% on; fi if [ "$zmienna2" = "100" ]; then amixer set 'PCM',0 100% on; fi } function volume2(){ proc=`kdialog --inputbox 'Wpisz głośność w skali 0 - 100:' --title "VTM"`; amixer set 'PCM',0 $proc% on ; } function kompresuj(){ clear mplayer "$nazwa" -ao pcm -vo null $code audiodump.wav -o "${nazwa%%.*}"$roz rm audiodump.wav amixer set 'PCM',0 75% on } function play(){ zmienna3=`kdialog --menu "Co chcesz zrobic z ${nazwa%%.*}$roz ?" "A" "Odtworzyć go za pomocą mplayera" "B" "Odtworzyć go za pomocą kmplayera" "C" "Zakonczyc skrypt"` if [ "$zmienna3" = "A" ]; then mplayer ${nazwa%%.*}$roz fi if [ "$zmienna3" = "B" ]; then kmplayer ${nazwa%%.*}$roz fi if [ "$zmienna3" = "C" ]; then exit fi } czytaj ; menu ; volume ; kompresuj ; play ;
Dodałem opcje wybierania pliku z katalogu.
Reszte znacie: Wybór kodeka, ust. głośności kompresji, możliwość odtworzenia.
Ostatnio edytowany przez azhag (2008-01-04 20:25:39)
Offline
Tą funkcję volume1() mógłbyś na case zrobić....
Offline
Aktualna wersja konsolowa posiada:
-C | --video-to-music - Wyciąga muzyke z filmów w formatach .ogg lub .mp3. Składnia: whome -C [video] [kodek] [glosnosc] (np. whome -C cos.avi mp3 75 ) Dostępne kodeki: mp3 i ogg.
Wkrótce ją opublikuje.
Offline