Showing posts with label programming. Show all posts
Showing posts with label programming. Show all posts

Friday, June 04, 2010

Nautilus script convert video .OGV ke .AVI dalam Ubuntu [Fix masalah kualiti video ogv Youtube]

Ada beberapa perkara yang ingin saya highlightkan disini. Pertama, sekiranya anda cuba merekodkan skrin menggunakan gtk-recordmydesktop, kemudian muatnaik video (dalam format ogv) tersebut ke youtube, anda akan mendapati video yang dimuatnaik tadi rosak dan tidak dapat dilihat di youtube. Masalah ini telah dilaporkan sebagai bug dan dibincangkan juga dalam google support. Contoh video yang rosak itu ialah disini.

Penyelesaian

Bermacam pernyelesaian telah saya temui dan telah saya cuba antaranya convert video ogv tersebut ke format mkv, avi dan sebagainya. Namun saya akan ulas mengenai penyelesaian terbaik, dengan cara terbaik dan memudahkan anda =).

Convert ke .avi menggunakan mencoder.
Anda terlebih dahulu perlu memasang mencoder ke dalam ubuntu anda dengan menggunakan command;
sudo apt-get install mencoder
Kemudian, dalam folder yang mengandungi fail video yang ingin anda convert ke .avi, buka terminal dan masukkan command;
mencoder namafail.ogv -o output.avi -ovc lavc -oac mp3lame
Anda sepatutnya akan memperolehi output video yang tidak mengurangkan kualiti dalam folder yang sama dalam saiz yang lebih kecil (yang mana ianya satu berita baik).

Jadikannya nautilus script

Cabarannya disini. Kita ingin menukarkan command diatas kepada nautilus script yang berfungsi tanpa menggunakan terminal dan tanpa memasukkan command yang sama setiap kali kita ingin convert video .ogv yang dihasilkan oleh gtk-recordmydesktop.

Buka gedit dan taipkan seperti dalam screenshot berikut;


Saya menggunakan $@ untuk memberitahu komputer supaya "bertindak keatas fail ini" dan kemudian outputnya juga dalam nama fail yang sama tetapi dengan extension .avi.

Save file ini dalam dengan nama  ogv2avi.sh, letakkan dalam /home/namaanda/.gnome2/nautilus-scripts/ kemudian jadikan fail ini executable (sila baca tutorial sebelum ini untuk menetapkan sesuatu file menjadi executable). Sekarang, dalam nautilus anda boleh right klik pada mana-mana video dalam format .ogv dan pilih Script - ogv2avi.sh untuk proses convert.


Dengan fail .avi yang terhasil, anda boleh muatnaik ke facebook dan berkongsinya dengan rakan tanpa masalah. Script ini masih lagi mempunyai kelemahan namun, ia sudah cukup untuk memudahkan kerja seharian saya =)

Sunday, October 26, 2008

Desktop ubuntu anda berselerak? Disini ada idea penyelesaian.

Secara normalnya, fail-fail yang dimuatturun dari web menggunakan firefox akan di save secara default pada desktop. Sehari dua mungkin ia tidak begitu melemaskan tetapi apabila sesuatu masa yang lama berlalu, desktop anda mungkin berselerak dengan pelbagai jenis fail. Secara manualnya, anda boleh mengalihkan fail-fail ini ke folder yang sepatutnya seperti fail PDF, ODT,ODF, TXT ke ~/Documents dan seterusnya.Saya telah memikirkan beberapa idea penyelesaian. Pertama ialah dengan menukarkan default save direktori bagi firefox kepada folder ~/Downloads.

Namun nantinya folder itu pula yang berselerak dengan fail-fail. Jadi bagaimana? Disini ideanya bermula.Saya memikirkan tentang bash script yang boleh digunakan dalam sistem operasi linux. Dengan menulis sedikit script dan diletakkan ke folder yang berselerak tadi (samada desktop atau downloads) lalu script tadi di run, secara automatiknya fail-fail yang berkaitan akan dipindahkan ke folder yang sepatutnya ia berada. (cth : fail MP3 sepatutnya dalam ~/Music, fail 3GP dalam folder ~/Videos dan seterusnya). Lalu script tadi sepatutnya kelihatan seperti berikut;



Saya telah mencubanya dan ianya berfungsi dengan baik. (NOTE : saya newbie dalam shell programming).Namun saya agak tidak berpuas hati dengan cara penggunaan script diatas kerana saya merasakan terdapat cara yang lebih mudah dan script diatas mungkin boleh dipendekkan. Perkara kedua yang saya fikirkan ialah ketika saya menulis script ini, saya berfikir untuk berkongsinya dengan pembaca melayubuntu namun bagaimana saya boleh hasilkan satu script yang akan akan auto-create folder yang tidak wujud?

Perkara ke-3, saya lebih sukakan GUI dari semua ini. Insyaallah saya akan usahakannya (kalau boleh dan jika masa mengizinkan).

Jika anda ingin mencuba idea yang saya utarakan ini, anda boleh taipkan script diatas menggunakan text editor dan save ke format ".sh". Right click pada file tersebut > Properties > Permissions > Allow axecuting file as program. Letakkan fail .sh tadi ke folder yang berselerak tadi dan double klik padanya (atau dalam terminal ./CONTOH.sh). Anda akan dapati kesemua fail yang diarahkan dalam script akan dialihkan ke folder yang diarahkan. Saya suka mendengar respon dan idea dari anda pula. Semoga bermanfaat.

Saturday, September 13, 2008

Gambas : Visual Basic untuk linux dan tutorial penggunaanya

Rasanya ini bukan kali pertama saya tegaskan dalam blog ini bahawa saya bukan dalam bidang IT! Saya tidak pernah mencuba apa itu Visual Basic, tidak pernah menyentuh apa itu MySQL, tidak pernah menuntut secara lansung tentang apa itu PHP dan sebagainya. Sama juga seperti anda - bermula dari tidak tahu apa-apa. Jika anda merasakan artikel ini hanya untuk budak IT, saya lebih cenderong untuk mengatakan anda telah tersilap. Pada saya, sesiapa juga berhak dan wajar mencuba sesuatu yang baru untuk meneroka keupayaan diri sendiri.

Ok, Tamat mukaddimah!

Hari ini saya ingin mengulas tentang Gambas, satu development environment yang percuma berasaskan Basic interpreter dan berfungsi seolah-olah visual basic didalam windows. Menggunakan Gambas, kita boleh design GUI (graphical user interface) atau paparan antaramuka sesuatu program menggunakan QT atau GTK+, mencapai MySQL, PostgreSQL, Firebird, ODBC dan SQLite database, memandu aplikasi KDE dengan DCOP, menerjemah aplikasi kepada apajua bahasa, membina aplikasi untuk network, membina aplikasi 3D OpenGL, membina web aplikasi CGI dan sebagainya.

Install.

Gambas sudah sedia terdapat dalam repository - bermakna anda boleh install menggunakan add/remove app @ terminal @ synaptic package manager. 1klik install = gambas

Namun jika anda inginkan versi yang latest, sila masukkan repository berikut;
deb http://azores.linex.org/gambas-other/ hardy main
kedalam software sources!

Tutorial berikut berasaskan versi 2.5.

Membuat aplikasi GUI mudah menggunakan gambas.

Disini saya ingin menunjukkan cara-cara membuat satu GUI mudah dengan satu butang. Apabila butang itu diklik, satu popup mesej "Hai pembaca melayubuntu!" akan muncul.

Lancarkan gambas menerusi Applications > Programming > Gambas2.

1.Klik New Project dan klik pada GTK+ Graphical Application dan klik Next.



2.Pilih lokasi yang anda ingin save projek anda dan klik Next.



3.Masukkan nama projek anda dan title. Klik OK! Anda akan dibawa ke tetingkap utama.



4.Double click pada Fmain dan anda akan dapat melihat medan editasi.



5.Pergi ke pilihan menu View > Toolbox dan pallet toolbox akan muncul ditepi sebelah kanan. Pilih tab form!



6.Drag tool label (ikon huruf A) ke tengah tengah-tengah medan editasi (bentuk tentingkap). Klik pada label tersebut dan anda boleh membuat editasi keatas label dengan memasukkan pembolehubah kedalam properties. Rujuk screenshot dibawah. Label ini mungkin bertindak sebagai penerangan dan sebagainya.



7.Kini kita ingin meletakkan butang kedalam tetingkap GUI mudah. Pada toolbox, pilih button (ikon butang ok) dan drag ke tetingkap editasi. Sekali lagi, edit pembolehubah pada properties.

Name = btn_kliksini
Text = Klik Sini

8. Selesai proses diatas, cuba double click pada butang yang baru dibina dan satu editor (FMail.class) akan muncul. Masukkan text berikut;



9.Pilih tab Fmain.form kembali. Anda boleh mencuba GUI mudah anda dengan klik butang berikut;


Cuba klik pada butang "Klik Sini" dan lihat samada ia berfungsi atau tidak.



Untuk setiap projek yang kita bangunkan, kita boleh membuat installation package untuk distro-distro yang popular seperti ubuntu, fedora, opensuse dan sebagainya.

Terdapat banyak persoalan yang mungkin disebabkan kecetekan pengetahuan saya sebagai seorang "bukan budak IT". Antaranya, apa beza gambas dan glade? Bagaimana ia boleh berinteraksi dengan bahasa pengatucaraan? Dan sebagainya.. Ada penerangan?

Sunday, August 31, 2008

Resize Gambar Secara Pukal menggunakan script

Ini mungkin entry yang agak berbeza dengan yang lain kerana entry ini dihantar ke email saya oleh sdr Mustakim Ahmad. Kelainan kedua bagi entry ini anda akan dapati dalam kandungannya.

Katakan anda ingin resize semua image berformat "jpeg" dalam folder "gambar_konvo". Anda mungkin boleh menggunakan Phatch, namun hari ini entry ini akan menunjukkan cara menggunakan script untuk melakukan tugasan tersebut. Caranya;

1. Install imagemagick (mungkin sudah terinstall)
sudo apt-get install imagemagick
2. Cipta satu script. Buka terminal kemudian taipkan;
gedit batch.sh
copy dan paste code dibawah ini kedalam gedit yang terbuka,
#! /bin/sh

# Dialog box to choose thumb's size
SIZE=`zenity --list --title="Choose the thumbnail's size" --radiolist --column="Check" --column="Size" "" "320x240" "" "640x480" "" "800x600" "" "1024x768"`

if [ "${SIZE}" == "" ]; then
zenity --error --text="Size not defined by user.
Please choose a size to use. "
exit 1
fi

# How many files to make the progress bar
PROGRESS=0
NUMBER_OF_FILES=`find -iname "*.jpg" -maxdepth 1 | wc -l`
let "INCREMENT=100/$NUMBER_OF_FILES"

mkdir -p thumbnails

# Creating thumbnails. Specific work on picture should be add there as convert's option
(for i in *.jpg *.JPG; do
echo "$PROGRESS";
echo "# Resizing $i";
convert -resize "${SIZE}" -bordercolor black -border 10x10 -quality 50 "${i}" thumbnails/"${i}"
let "PROGRESS+=$INCREMENT"
done
) | zenity --progress --title "$Creating thumbnails..." --percentage=0
save!

3. Copy fail batch.sh yang terdapat dalam home folder kedalam folder yang sasaran (folder yang mengandungi fail jpeg yang ingin di resize.

4.Masuk kedalam folder sasaran tadi menggunakan terminal
cd ~/gambar_convo
5. Larikan(run) script tadi menggunakan command dibawah;
sh batch.sh
6.Hasilnya, semua gambar berformat jpeg dalam folder tadi akan ditukar kepada saiz yang ditentukan dan disave kedalam folder thumbnails dalam folder sasaran tadi. Original fail tidak berubah!

Entry ini sebenarnya memberi inspirasi kepada anda untuk memahami dan menerokai apalagi yang boleh dilakukan dengan script diatas atau script yang bakal anda tulis sendiri. Contohnya, anda boleh edit script diatas supaya ia menyokong format imej PNG, GIF dan sebagainya. Atau, anda ingin jadikan ia berkongsep GUI? Anda tentukan!

Quartz OS: Material Design + Linux = Awesome

Konsep Material Design pertama kali diperkenalkan oleh Google untuk Android 5.0 Lollipop. Nampaknya, ada developer yang berminat untuk ...