March 27, 2014

exiftool

കൂൾ റീഡറിനെ(http://coolreader.org/e-index.htm) കുറിച്ചെഴുതണോ അതോ എംപിഡിയെ (https://en.wikipedia.org/wiki/Music_Player_Daemon) കുറിച്ചെഴുതണോ എന്നു കൺഫ്യു ആയപ്പോൾ എക്സിഫ് ടൂളിനെ (exiftool)‌‌ ക്കുറിച്ചെഴുതാം എന്നു വിചാരിച്ചു.
എക്സിഫ്‌‌ടൂൾ എന്ന പേര് കുറച്ച് തെറ്റിദ്ധാരണാജനകമാണെന്നാണ് എന്റെ വിനീതാഭിപ്രായം. കാരണം മറ്റൊന്നുമല്ല, പേരു കേൾക്കുമ്പോൾ ഇമേജ് ഫയലുകളിലെ എക്സിഫ് ഡേറ്റാ എടുക്കാനുള്ള ഒരു ടൂളാണെന്നാണ് തോന്നും. ഒന്നു രണ്ടു പ്രാവശ്യം ഉപയോഗിച്ചു നോക്കിയപ്പോഴാണ് സംഭവം മിക്കവാറും എല്ലാ തരം മീഡിയ ഫയലുകളിൽ നിന്നും മെറ്റാഡേറ്റാ എടുക്കാൻ പറ്റിയ ഒരു സാധനമാണെന്നു മനസ്സിലായത്.
ഏതെങ്കിലും ക്യാമറയിൽ നിന്നുള്ള ഫോട്ടോ ഫയലിൽ എക്സിഫ് ടൂൾ ഓടിച്ചാൽ അതിലുള്ള ഒരു വിധം എല്ലാ മെറ്റാഡേറ്റയും അതു ലിസ്റ്റ് ചെയ്യും. ഉദാ :
exiftool  IMG_3924.CR2
ExifTool Version Number         : 9.46
File Name                       : IMG_3924.CR2
Directory                       : .
File Size                       : 8.7 MB
File Modification Date/Time     : 2011:09:29 21:17:53+05:30
File Access Date/Time           : 2014:03:27 19:13:21+05:30
File Inode Change Date/Time     : 2013:08:17 19:52:54+05:30
File Permissions                : rwxr--r--
File Type                       : CR2
MIME Type                       : image/x-canon-cr2

Light Value                     : 11.0
Red Balance                     : 2.027344
കാനണിൽ നിന്നുള്ള റോ ഫയലിൽ നിന്ന് 285 ടാഗുകൾ ലിസ്റ്റ് ചെയ്തു
ആദ്യമായി exiftool ഉപയോഗിച്ചത് ടാബ്‌‌ലറ്റിന്റെ മെമ്മറി കാർഡിലെ ഫയലുകൾ റിക്കവർ ചെയ്തപ്പോഴാണ്. റിക്കവർ ചെയ്ത ഫയലുകളുടെ പേരെല്ലാം ഒരു വഴിക്കായിരുന്നു. ഫോട്ടോകളുടേയും വീഡിയോകളുടേയും പേരും മോഡിഫിക്കേഷൻ ടൈമും ഷൂട്ട് ചെയ്ത ഡേറ്റ്/സമയ പ്രകാരം ആക്കാൻ നോക്കിയപ്പോൾ exiftool ആയിരുന്നു സഹായത്തിനെത്തിയത്. എക്സിഫ് ടൂളിന് -T എന്നൊരോപ്ഷനുണ്ട്, അതും ആവശ്യമുള്ള ടാഗ് നേമും കൊടുത്താൽ ആ ടാഗ് മാത്രം ഫയലിൽ നിന്ന് എടുത്തു തരും. 
exiftool -T -DateTimeOriginal IMG_3924.CR2
2011:09:18 15:52:28
നേരത്തേ പറഞ്ഞതുപോലെ പേരു മാറ്റി ഫയൽമോഡിഫിക്കേഷൻ ടൈം മാറ്റാൻ നോക്കിയപ്പോൾ, ടാഗിലെ സമയം ടച്ച് കമാന്റിനുപയോഗിക്കാവുന്ന രീതിയിലാക്കാൻ കുറേ മെനക്കെടേണ്ടിവരുമെന്നാണ് കരുതിയത്. എന്നാൽ -d എന്ന ഓപ്ഷനുപയോഗിച്ച് ഇഷ്ടമുള്ള ഡേറ്റ് ഫോർമാറ്റ് കൊടുക്കാൻ പറ്റുമെന്നു മനസ്സിലായി.
exiftool -d "%Y%m%d_%H%M.%S" -T -DateTimeOriginal IMG_3924.CR2 
20110918_1552.28
ആനന്ദലബ്ധിക്കിനിയെന്തു വേണം ;)
അടുത്തത് എംപീത്രീ ഫയലുകളിലെ ലിറിക്സ് ടാഗുമായി മല്പിടിത്തം നടത്തിയപ്പോൾ എക്സിഫ് ടൂൾ രക്ഷപ്പെടുത്തിയ കഥയാണ്. മുമ്പ് പാട്ടുകേൾക്കാൻ ഉപയോഗിച്ചിരുന്നത് അമറോക് മ്യൂസിക് പ്ലയറായിരുന്നു. അമറോക്കിന് id3 ടാഗിലുള്ള ലിറിക്സ് വായിക്കാൻ പറ്റില്ലെന്നുള്ളെത് ഒരു വലിയ പ്രശ്നമായിരുന്നു. അതു പരിഹരിക്കാൻ വേണ്ടി ഒരു അമറോക് പ്ലഗിൻ എഴുതാം എന്നു വിചാരിച്ച് നോക്കിയപ്പോൾ ഒരു വിധത്തിലും ലിറിക്സ് ഫയലുകളിൽ നിന്ന് എടുക്കാൻ പറ്റുന്നില്ല. (അന്നു ഐഡിത്രീയോടുള്ള കലിപ്പിലിട്ട പോസ്റ്റ് ഇവിടെ : http://primejyothi.blogspot.in/2013/12/id3-blues.html). id3info യും id3v2ഉം ഒക്കെ ഉപയോഗിച്ചു നോക്കിയപ്പോൾ‌ അതിൽ ലിറിക്സൊന്നും കിട്ടുന്നില്ല. അപ്പോഴാണ് എക്സിഫ് ടൂൾ ഓടിച്ചു നോക്കിയത്. ഔട്ട്പുട്ട് കണ്ട് കിടുങ്ങിപ്പോയി. ആ എംപിത്രീയിലുണ്ടായിരുന്ന സകല ടാഗുകളും അതു ലിസ്റ്റ് ചെയ്തു. ദാ ഉദാഹരണം (സ്ഥലം ലാഭിക്കാനായി ലിറിക്സ് കുറച്ച് കട്ട് ചെയ്തിട്ടുണ്ട്)
exiftool Pularmanjiloode-320-OnamwitheeNam2013.mp3
ExifTool Version Number         : 9.46
File Name                       : Pularmanjiloode-320-OnamwitheeNam2013.mp3
Directory                       : .
File Size                       : 14 MB
File Modification Date/Time     : 2014:02:04 14:46:32+05:30
File Access Date/Time           : 2014:03:26 18:37:13+05:30
File Inode Change Date/Time     : 2014:02:04 14:46:32+05:30
File Permissions                : rw-rw-r--
File Type                       : MP3
MIME Type                       : audio/mpeg
MPEG Audio Version              : 1
Audio Layer                     : 3
Audio Bitrate                   : 320 kbps
Sample Rate                     : 44100
Channel Mode                    : Stereo
MS Stereo                       : Off
Intensity Stereo                : Off
Copyright Flag                  : False
Original Media                  : False
Emphasis                        : None
ID3 Size                        : 187144
Title                           : Pularmanjiloode Alayaan
Artist                          : G Venugopal, G Nisikanth
Album                           : Onam with eeNam 2013
Recording Time                  : 2013
Track                           : 13
Comment (xxx)                   : (ID3v1 Comment) Visit [http://www.onam.eenam.com](http://www.onam.eenam.com) for
Lyrics                          :   പുലർമഞ്ഞിലൂടെ അലയാൻ, ... അലയാൻ, കുളിർ.കാറ്റിൽ മോഹം അലിയാൻ
Popularimeter                   :  Rating=0 Count=110
User Defined Text               : (FMPS_Playcount) 110
Genre                           : Festival Songs
Lyricist                        : G Nisikanth
Composer                        : G Nisikanth
Picture Mime Type               : image/jpeg
Picture Type                    : Front Cover
Picture Description             : Pularmanjoloode_final.jpg
Picture                         : (Binary data 183885 bytes, use -b option to extract)
Year                            : 2013
Comment                         : Visit [http://www.onam.eenam.com](http://www.onam.eenam.com) for
Date/Time Original              : 2013
Duration                        : 0:05:51 (approx)
അപ്പോൾ പറഞ്ഞു വന്നത് ഇനി ഏതെങ്കിലും ഫയലിൽ നിന്ന് മെറ്റാഡേറ്റ വേർതിരിച്ചെടുക്കണമെങ്കിൽ എക്സിഫ് ടൂൾ ഉപയോഗിച്ചു നോക്കാവുന്നതാണ്. ഏതൊക്കെ ഫയലുകൾ സപ്പോർട്ട് ചെയ്യുന്നെന്നറിയാൻ exiftool എന്നു മാത്രം റൺ ചെയ്യുക. ഏതെല്ലാം ടാഗുകൾ സപ്പോർട്ട് ചെയ്യുമെന്നറിയാൻ exiftool -list എന്നു റൺ ചെയ്യുക. എന്റെ സിസ്റ്റത്തിൽ ഏകദേശം മൂവായിരം ലൈനുകളിലായി പന്ത്രണ്ടായിരം ടാഗുകൾ ലിസ്റ്റ് ചെയ്തു ;)

March 25, 2014

ഗാലിഫൈ

പ്രോഗ്രാം കോർഡമ്പ് ചെയ്തോ? കമ്പൈലർ എണ്ണമില്ലാത്ത എററുകൾ തരുന്നോ? ലവൻ നിങ്ങളുടെ കോഡ് കൊളമാക്കിയോ? ഇത്തരം സന്ദർഭങ്ങളിലുപയോഗിക്കാൻ പറ്റിയ തെറികളുണ്ടോ നിങ്ങളുടെ പക്കൽ? ഇല്ലെങ്കിൽ ഇതാ ഗാലിഫൈ സ്ക്രിപ്റ്റ്. പതിനഞ്ച് ഹൈക്വാളിറ്റി ബിൽറ്റിൻ തെറികളുമായി ഗാലിഫൈ സ്ക്രിപ്റ്റ് ഡൗൺലോഡൂ : http://goo.gl/cVKglH
ബിൽറ്റിൻ എന്റ്രികൾ പോര എങ്കിൽ കസ്റ്റം എന്റ്രികൾ ~/.galify.rc എന്ന ഫയലിൽ ചേർക്കാവുന്നതാണ്

ഈ സ്കിപ്റ്റ് എഴുതാനുള്ള പ്രചോദനം സുബിൻ ഡയസ്പോറയിൽ ഇട്ട ഈ പോസ്റ്റാണ് : https://poddery.com/posts/1033614

March 15, 2014

MiniDLNA : a lightweight DLNA/UPnP server for Linux

I used to use XBMC to stream videos from my Fedora system to my Andorid phone and Tablet. Of late I started to think that XBMC was little too much for streaming videos and started to look for alternatives. Few days back I found MiniDLNA, a light weight DLNA server. The installation and configuration in Fedora was pretty simple and it was up and running in no time.
Here are the installation/configuration steps I followed.
Install the MiniDLNA

sudo yum install minidlna

Minor changes are required in /etc/minidlna.conf to configure the server. I had to change the values for the following parameters in the /etc/minidlna.conf

network_interface=em1
port=8200
user=minidlna
media_dir=/xxx/yyy/zzzz # More media directories will need multiple media_dir entries.
friendly_name=MiniDLNA

Open up the port 8200 in firewall and the configuration is done.
Start the miniDLNA server as follows :

sudo systemctl start minidlna.service

Fire up your favorite DLNA/UPnP client from the mobile device (I use UPnPlay) and enjoy the videos.

March 4, 2014

KDE Connect

Updated KDE connect to the latest version (https://play.google.com/store/apps/details?id=org.kde.kdeconnect_tp)
For the new features, the latest desktop client in KDE need to be built from source. The source code is available at : git://anongit.kde.org/kdeconnect-kde

The new version support browsing the device SD card contents from KDE. Loading the folders take a bit of time, but once loaded it browsing through the folders are reasonably fast.

In the previous version I was unable to sync the clipboards if the text was not English. This version does not have that limitation.

A must have application if you use KDE.