Bu makalede birçoğumuzun gerek duyduğu multimedia formatlarını birbirine çevirmeye yarayan bir betikten yararlanarak nasıl kolay bir şekilde filmlerimizi Dİvx xvid mpeg4 çevireceğimizi anlatmaya çalışacağım
İlkönce sistemimizde aşağıda yazılı olan codecler yüklenmiş olması gerekmektedir.
Bu codecleri yükledikten sonra [ http://linux.softpedia.com/get/Desktop-Environment/Tools/avi-and-mp4-converter-32163.shtml script] bu adrsten scripti indirebilirsiniz veya aşağıda kodları bir script dosyasını içine ekleyip /home/kullanıcı/.gnome2/nautilus-scripts/ klasörünün altına kopyalıyoruz. Scripte vermiş olduğunuz isimle menünün Betikler alanı altında görebilirsiniz.
Script içeriği:
# 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
*Görsel olarak yapılacak işlemler
Bu işlemleri yaptıktan sonra çevireceğimiz dosyamızın üzerin gelip mouse un sağ tuşunu tıklayıp Betikler menüsün altındaki betiğimizi tıklıyoruz.
Karşımıza çıkacak ikinci seçenek çevirelecek format türü
Bu alanda görüntü kalitesinin ne seviyede olmasını istiyorsak o seçeneği işaretliyoruz.
Son kısım ise ses kalitesini belirttiğimiz alanımız.
Bu işlemleri yaptıktan sonra çevirmek istediğiniz dosyanın bulunduğu klasöre istemiş olduğunu formatta ve kalitede dosyanızı çevirmeye başlayacak. İyi eğlenceler.
Hazırlayan : Sinan TEMUR