Konwenter *avi to *mp4
-
- Piegowaty Guziec
- Posty: 3
- Rejestracja: 12 sie 2007, 15:43
- Płeć: Mężczyzna
- Wersja Ubuntu: 8.04
- Środowisko graficzne: GNOME
- Kontakt:
Konwenter *avi to *mp4
Witam,
tak jak w temacie, szukam konwentera z avi do formatu mp4 pod ubuntu. Tak, żebym przerobione filmy mógł wgrywać na telefon.
tak jak w temacie, szukam konwentera z avi do formatu mp4 pod ubuntu. Tak, żebym przerobione filmy mógł wgrywać na telefon.
- uel
- Przyjaciel
- Posty: 126
- Rejestracja: 19 mar 2006, 01:27
- Płeć: Mężczyzna
- Wersja Ubuntu: inny OS
- Środowisko graficzne: GNOME
- Kontakt:
Odp: Konwenter *avi to *mp4
Skorzystaj z gotowego skryptu (graficzna powłoka).
Owierasz edytor tekstu (np gedit), wklejasz poniższy skrypt i zapisujesz pod nazwą avi-mp4 w swoim katalogu domowym:
Nadajesz plikowi prawa do wykonywalności:
uruchamiasz i uzupełniasz lokalizacje w poniższym poleceniu na własne:
Owierasz edytor tekstu (np gedit), wklejasz poniższy skrypt i zapisujesz pod nazwą avi-mp4 w swoim katalogu domowym:
Kod: Zaznacz cały
# Author: TuTUX
# This script converts FLV/RM/MPEG/... to AVI/MP4 files.
# Dependency: ffmpeg, mencoder, gstreamer...
# ToDo: you tell me.
# Distributed under the terms of GNU GPL version 2 or later
#
# You need to be running Nautilus 1.0.3+ to use scripts.
#
#!/bin/bash
newname="New file name"
title="video convert (flv/avi/mpeg/rm to avi/mpeg-4)"
titlewh="Resolution of input video"
Wide="wide"
High="height"
avi_codec="Choose output codec"
audio_codec="Choose output audio"
bit_rate="Choose the bitrate of video (700 if mp4)"
abit="mp3 bitrate"
audio="audio encode(MPEG-4 will stick to acc)"
wrong="wrong input, skipping"
warning="huh?"
wide=640
high=480
tmp=0
tmp1=0
tmp2=0
bar1=0
bar=0
bar2=0
consw="640"
#encoding functions
iftowide()
{
ffmpeg -i "$1" -target ntsc-dvd -padtop "$((bar1))" -padbottom "$((bar2))" -s "$wide"x"$high" -aspect 4:3 -b 1152 -padcolor 000000 -acodec copy "`basename "$1"`.mpg"
}
wh()
{
wide=`gdialog --title "$titlewh" --inputbox "$Wide" 200 100 2>&1`
high=`gdialog --title "$titlewh" --inputbox "$High" 200 100 2>&1`
tmp=wide/4
tmp1=tmp*3
tmp2=tmp1-high
if [ $((tmp2%4)) -eq 0 ]; then
bar1=tmp2/2
bar2=bar1
else
bar=tmp2/2
bar1=bar+1
bar2=bar-1
fi
}
DivXmp3_encode()
{
mencoder "$1" -ovc lavc -lavcopts vcodec=mpeg4:vbitrate="$get_bitrate":mbd=2:v4mv:autoaspect -vf pp=lb -oac mp3lame -lameopts cbr:br="$get_audio" -o "`basename "$1"`.avi"
}
DivXAC_encode()
{
mencoder "$1" -ovc lavc -lavcopts vcodec=mpeg4:vbitrate="$get_bitrate":mbd=2:v4mv:autoaspect -vf pp=lb -channels 6 -oac lavc -lavcopts acodec=ac3:abitrate=384 -o "`basename "$1"`.avi"
}
XviDmp3_encode()
{
mencoder "$1" -ovc xvid -xvidencopts bitrate="$get_bitrate":autoaspect -vf pp=lb -oac mp3lame -lameopts cbr:br="$get_audio" -o "`basename "$1"`.avi"
}
XviDAC_encode()
{
mencoder "$1" -ovc xvid -xvidencopts bitrate="$get_bitrate":autoaspect -vf pp=lb -channels 6 -oac lavc -lavcopts acodec=ac3:abitrate=384 -o "`basename "$1"`.avi"
}
MP4_encode()
{
ffmpeg -i "$1" -f mp4 -vcodec mpeg4 -maxrate 1000 -b 700 -qmin 3 -qmax 5 -bufsize 4096 -g 300 -acodec aac -ab 160 -ar 48000 -s 640x480 -aspect 4:3 "`basename "$1"`.mp4"
}
MP4()
{
if file "$1" | grep -q "Macromedia Flash Video"; then
get_audio="64"
DivXmp3_encode "$1"
MP4_encode "$1.avi"
rm -f "$1.avi"
elif file "$1" | grep -q "RealMedia file"; then
get_audio="128"
DivXmp3_encode "$1"
MP4_encode "$1.avi"
rm -f "$1.avi"
else
MP4_encode "$1"
fi
}
MP4w()
{
if [ "$((wide))" -gt "$consw" ] ; then
if file "$1" | grep -q "RealMedia file"; then
get_audio="128"
DivXmp3_encode "$1"
iftowide "$1.avi"
rm -f "$1.avi"
MP4_encode "$1.avi.mpg"
rm -f "$1.avi.mpg"
else
iftowide "$1"
MP4_encode "$1.mpg"
rm -f "$1.mpg"
fi
else
if file "$1" | grep -q "Macromedia Flash Video"; then
get_audio="64"
DivXmp3_encode "$1"
MP4W_encode "$1.avi"
rm -f "$1.avi"
elif file "$1" | grep -q "RealMedia file"; then
get_audio="128"
DivXmp3_encode "$1"
MP4W_encode "$1.avi"
rm -f "$1.avi"
else
MP4W_encode "$1"
fi
fi
}
MP4W_encode()
{
ffmpeg -i "$1" -f mp4 -vcodec mpeg4 -maxrate 1000 -b 700 -qmin 3 -qmax 5 -bufsize 4096 -g 300 -acodec aac -ab 160 -ar 48000 -padtop "$((bar1))" -padbottom "$((bar2))" -s "$wide"x"$high" -aspect 4:3 -padcolor 000000 "`basename "$1"`.mp4"
}
#General
get_codec=`zenity --title="$title" --list --radiolist --column="" --column="$avi_codec" FALSE "DivX" TRUE "XviD" FALSE "MPEG-4" FALSE "MPEG-4 from widescreen"`
get_bitrate=`zenity --title="$get_codec" --list --radiolist --column="" --column="$bit_rate" FALSE "2500" FALSE "1800" FALSE "1152" TRUE "700" FALSE "500" `
#todo if mp4 widescreen or not
case "$get_codec" in
DivX)
get_acode=`zenity --title="$audio" --list --radiolist --column="" --column="$audio_codec" FALSE "AC3 5.1" TRUE "mp3lame" `
case "$get_acode" in
mp3lame)
get_audio=`zenity --title="$audio" --list --radiolist --column="" --column="$abit" FALSE "320" FALSE "192" FALSE "160" TRUE "128" FALSE "64" `
;;
esac
;;
XviD)
get_acode=`zenity --title="$audio" --list --radiolist --column="" --column="$audio_codec" FALSE "AC3 5.1" TRUE "mp3lame" `
case "$get_acode" in
mp3lame)
get_audio=`zenity --title="$audio" --list --radiolist --column="" --column="$abit" FALSE "320" FALSE "192" FALSE "160" TRUE "128" FALSE "64" `
;;
esac
;;
"MPEG-4 from widescreen")
wide=`gdialog --title "$titlewh" --inputbox "$Wide" 200 100 2>&1`
high=`gdialog --title "$titlewh" --inputbox "$High" 200 100 2>&1`
tmp=wide/4
tmp1=tmp*3
tmp2=tmp1-high
if [ $((tmp2%4)) -eq 0 ]; then
bar1=tmp2/2
bar2=bar1
else
bar=tmp2/2
bar1=bar+1
bar2=bar-1
fi
#gdialog --title "$((bar1))" --inputbox "$((bar2))" 200 100 2>&1
;;
esac
#General
while [ "$1" ]; do
case "$get_codec" in
MPEG-4)
MP4 "$1"
;;
"MPEG-4 from widescreen")
MP4w "$1"
;;
DivX)
case "$get_acode" in
mp3lame)
DivXmp3_encode "$1"
;;
"AC3 5.1")
DivXAC_encode "$1"
;;
esac
;;
XviD)
case "$get_acode" in
mp3lame)
XviDmp3_encode "$1"
;;
"AC3 5.1")
XviDAC_encode "$1"
;;
esac
;;
esac
shift
done
Kod: Zaznacz cały
chmod +x avi-mp4
Kod: Zaznacz cały
./avi-mp4 plik.avi plik.mp4
Wielkie czyny powstają z wielkich marzeń.
Przed założeniem tematu zapoznaj się z regulaminem
bądź skonsultuj z moderatorem lub administratorem.

Przed założeniem tematu zapoznaj się z regulaminem
bądź skonsultuj z moderatorem lub administratorem.

-
- Piegowaty Guziec
- Posty: 3
- Rejestracja: 12 sie 2007, 15:43
- Płeć: Mężczyzna
- Wersja Ubuntu: 8.04
- Środowisko graficzne: GNOME
- Kontakt:
Odp: Konwenter *avi to *mp4
zapomniałem dodać ze architektura 64bitniggazzz pisze:Np. WinFF

EDIT:
coś nie tak jest:
soon@soon-desktop:~$ ./avi-mp4 get_video.avi plik.mp4
/home/soon/.themes/Glory-Simplex/gtk-2.0/gtkrc:540: Nie można odnaleźć pliku z obrazem na ścieżce: "Menu-Menubar/menuline.png"
/home/soon/.themes/Glory-Simplex/gtk-2.0/gtkrc:543: Background image options specified without filename
/home/soon/.themes/Glory-Simplex/gtk-2.0/gtkrc:540: Nie można odnaleźć pliku z obrazem na ścieżce: "Menu-Menubar/menuline.png"
/home/soon/.themes/Glory-Simplex/gtk-2.0/gtkrc:543: Background image options specified without filename
./avi-mp4: line 56: mencoder: polecenie nieodnalezione
./avi-mp4: line 72: ffmpeg: polecenie nieodnalezione
./avi-mp4: line 72: ffmpeg: polecenie nieodnalezione
soon@soon-desktop:~$
-
- Piegowaty Guziec
- Posty: 4
- Rejestracja: 13 paź 2006, 23:29
- Płeć: Mężczyzna
- Wersja Ubuntu: 7.10
- Środowisko graficzne: GNOME
- Kontakt:
Odp: Konwenter *avi to *mp4
Witma.
Jeśli jest jeszcze ktoś zainteresowany tym tematem to polecam najnowszego avidemux'a z gedDEB. Wystarczy otworzyć w nim plik źródłowy wybrać automatyczną opcję kodowania (?) do "IPOD (mpeg4). Ja zmieniłem jeszcze kodek dźwięku na aac i jakość na 96kb/s. Film chodzi bez zarzutów w sonyericssonie w660i, myślę, że w innych też będzie działał. Można jeszcze pozmieniać ustawienia rozdzielczości i co kto sobie życzy.
Pozdrawiam.
Jeśli jest jeszcze ktoś zainteresowany tym tematem to polecam najnowszego avidemux'a z gedDEB. Wystarczy otworzyć w nim plik źródłowy wybrać automatyczną opcję kodowania (?) do "IPOD (mpeg4). Ja zmieniłem jeszcze kodek dźwięku na aac i jakość na 96kb/s. Film chodzi bez zarzutów w sonyericssonie w660i, myślę, że w innych też będzie działał. Można jeszcze pozmieniać ustawienia rozdzielczości i co kto sobie życzy.
Pozdrawiam.
- dk75
- Przebojowy Jelonek
- Posty: 1142
- Rejestracja: 07 mar 2007, 22:59
- Płeć: Mężczyzna
- Wersja Ubuntu: inny OS
- Środowisko graficzne: GNOME
- Architektura: x86_64
Odp: Konwenter *avi to *mp4
robię skrypt do przerabiania na 3GP i MP4 dla telefonów ale potrzebuje on paru dodatkowych programów do działania więc nie wiem czy ktoś będzie reflektował
- inzaghi89
- Sędziwy Jeż
- Posty: 66
- Rejestracja: 08 wrz 2007, 22:12
- Płeć: Mężczyzna
- Wersja Ubuntu: 9.04
- Środowisko graficzne: GNOME
- Kontakt:
Odp: Konwenter *avi to *mp4
skorzystałem zarówno ze skryptu uel'a, jak i próbowałem avidemux. Jednakże w obu przypadkach nie wiem jaki kodek video wybrać. Dźwięk zawsze wybieram LAME (czyli od mp3) i zawsze w telefonie mam "Nie można odtworzyć pliku".
Hm nie ważne, już zrobiłem/uporałem się. Video Mpeg4, Audio FAAC
Hm nie ważne, już zrobiłem/uporałem się. Video Mpeg4, Audio FAAC
Trititi li li łaaaaa...
- sthoo
- Piegowaty Guziec
- Posty: 17
- Rejestracja: 02 wrz 2006, 16:23
- Płeć: Mężczyzna
- Wersja Ubuntu: 11.04
- Środowisko graficzne: GNOME
- Architektura: x86
- Kontakt:
Odp: Konwenter *avi to *mp4
Witam.
Hmmm. odświeżę nieco wątek jako, że też się z tym trochę grzebałem i na podstawie jednego z postów na forum posklejałem skrypt do konwersji na *.mp4 wraz z cięciem na części ( w SonyEricssonach źle się ogląda półtoragodzinny film, gdy sobie trzeba przerwać, żeby zadzwonić itp. A więc po kolei:
tworzymy sobie folder o nazwie jaka nam się żywnie podoba - na przykład:
tworzymy w nim plik ( za pomocą ulubionego edytora - mój to nano)
do pliku wklejamy:
zapisujemy wciskając CTRL+o, wychodzimy CTRL +x, nadajemy prawa do wykonania:
Następnie musimy zorientować się jak długi jest film i na ile części go podzielić (najlepiej odpalić go w MPlayerze i sprawdzić ile ma minut np film trwający 1 godz i 25 minut i 35 sekund to w zaokrągleniu 86 minut, dzielimy po 8 minut wychodzi nam 10,75 części czyli w zaokrągleniu w górę 11 (ostatnia będzie krótsza).
Do folderu wrzucamy interesujący nas film *.avi wchodzimy do niego:
wydajemy polecenie:
czyli
Idziemy zaparzyć kawę (na AthlonieXP 2500+Barton 1,86 GHz i 1 GB ramu trwa to od 20 do 40 minut w zależności od pliku wejściowego)
Utworzone w folderze pliki mp4 kopiujemy na telefon i oglądamy.
Hmmm. odświeżę nieco wątek jako, że też się z tym trochę grzebałem i na podstawie jednego z postów na forum posklejałem skrypt do konwersji na *.mp4 wraz z cięciem na części ( w SonyEricssonach źle się ogląda półtoragodzinny film, gdy sobie trzeba przerwać, żeby zadzwonić itp. A więc po kolei:
tworzymy sobie folder o nazwie jaka nam się żywnie podoba - na przykład:
Kod: Zaznacz cały
mkdir /home/ty/Wideo/konwersja
Kod: Zaznacz cały
nano /home/ty/Wideo/konwersja/tnij
Kod: Zaznacz cały
#!/bin/bash
##Co gdzie jak?
plik_wejsciowy=$1; ##Jaki plik kroimy
plik_wyjsciowy=$plik_wejsciowy; ##jaka będzie nazwa pliku wyjściowego. Będą dodatkowe numerki, żeby się nie zgubić.
czas=$2 ##Czas jednego kawałka
skok=$czas ##pomaga przy ustalaniu w którym momencie ma kawałek się zaczynać.
ile=$3 ## ile ma być kawałków.
##zaczynamy kroić
#pierwsze X minut. Nie ma sensu ładować do pętli
mencoder ${plik_wejsciowy} -ofps 24 -of lavf -lavfopts format=mp4 -af lavcresample=48000:channels=1 -vf-add harddup -vf-add scale=320:-2 -oac lavc -ovc lavc -lavcopts aglobal=1:vglobal=1:acodec=libfaac:abitrate=128:vcodec=mpeg4:vbitrate=384:keyint=25 -sws 9 -endpos 0:${czas}:02 -o 01_${plik_wyjsciowy}.mp4
numer=2 ##zaczynamy kawałek 2
while [ $numer -le $ile ]; do
if [ $numer -le 9 ]; then
##dla części mniejszych/równych 9 dodaje zero
mencoder ${plik_wejsciowy} -ofps 24 -of lavf -lavfopts format=mp4 -af lavcresample=48000:channels=1 -vf-add harddup -vf-add scale=320:-2 -oac lavc -ovc lavc -lavcopts aglobal=1:vglobal=1:acodec=libfaac:abitrate=128:vcodec=mpeg4:vbitrate=384:keyint=25 -sws 9 -ss 0:${czas}:0 -endpos 0:${skok}:02 -o 0${numer}_${plik_wyjsciowy}.mp4;
else
##dla reszty już nie
mencoder ${plik_wejsciowy} -ofps 24 -of lavf -lavfopts format=mp4 -af lavcresample=48000:channels=1 -vf-add harddup -vf-add scale=320:-2 -oac lavc -ovc lavc -lavcopts aglobal=1:vglobal=1:acodec=libfaac:abitrate=128:vcodec=mpeg4:vbitrate=384:keyint=25 -sws 9 -ss 0:${czas}:0 -endpos 0:${skok}:02 -o ${numer}_${plik_wyjsciowy}.mp4;
fi
numer=$[numer+1];
czas=$[czas+$skok]
done
zapisujemy wciskając CTRL+o, wychodzimy CTRL +x, nadajemy prawa do wykonania:
Kod: Zaznacz cały
chmod +x /home/ty/Wideo/konwersja/tnij
Do folderu wrzucamy interesujący nas film *.avi wchodzimy do niego:
Kod: Zaznacz cały
cd /home/ty/Wideo/konwersja/
Kod: Zaznacz cały
./tnij film.avi 8 11
Kod: Zaznacz cały
./tnij film.avi długość_części ilość części
Utworzone w folderze pliki mp4 kopiujemy na telefon i oglądamy.
______________________________________________________________________________
sthoo
sthoo
Kto jest online
Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 7 gości