利用Ubuntu 12.04.2 desktop i386 來做1个台灣版的Linux,就簡單共號做Forbuntu 12.04.2.13(Formosa GNU/Linux based on Ubuntu 12.04.2 subversion 13)。
共iso檔案裝踮USB flash,直接開機,免安裝就會當做一寡簡單的代誌,親像上網、看影片、查資料…。
2个bash script 就會當自動做。
2013-04-09
2013-01-22
How to sort films by length?
(1)Version 1
用「ffmpeg -i」來掠影片的長度。
佇「xargs」內底用「bash -c」來執行1个以上的指令。
用「(...)」(subshell)共指令組合起來。
find . \( -name "*.avi" -o -name "*.mp4" -o -name "*.mkv" \) -type f -print0 | xargs -0 -I % bash -c 'echo -ne "%\x00"; (ffmpeg -i "%" 2>&1 | grep Duration);' | awk -F '\x00' '{print $2,$1;}' | sort -k2
(2)Version 2
簡化Version 1。
檔名「%」愛用「"%"」,通好保護。
find . \( -name "*.avi" -o -name "*.mp4" -o -name "*.mkv" \) -type f -print0 | xargs -0 -I % bash -c 'echo $(ffmpeg -i "%" 2>&1 | grep Duration) "%"' | sort -k2
(3)Version 3
改用「-exec」。
「{}」愛用「"{}"」。
find . \( -name "*.avi" -o -name "*.mp4" -o -name "*.mkv" \) -type f -exec bash -c 'echo $(ffmpeg -i "{}" 2>&1 | grep Duration) "{}"' \; | sort -k2
用「ffmpeg -i」來掠影片的長度。
佇「xargs」內底用「bash -c」來執行1个以上的指令。
用「(...)」(subshell)共指令組合起來。
find . \( -name "*.avi" -o -name "*.mp4" -o -name "*.mkv" \) -type f -print0 | xargs -0 -I % bash -c 'echo -ne "%\x00"; (ffmpeg -i "%" 2>&1 | grep Duration);' | awk -F '\x00' '{print $2,$1;}' | sort -k2
(2)Version 2
簡化Version 1。
檔名「%」愛用「"%"」,通好保護。
find . \( -name "*.avi" -o -name "*.mp4" -o -name "*.mkv" \) -type f -print0 | xargs -0 -I % bash -c 'echo $(ffmpeg -i "%" 2>&1 | grep Duration) "%"' | sort -k2
(3)Version 3
改用「-exec」。
「{}」愛用「"{}"」。
find . \( -name "*.avi" -o -name "*.mp4" -o -name "*.mkv" \) -type f -exec bash -c 'echo $(ffmpeg -i "{}" 2>&1 | grep Duration) "{}"' \; | sort -k2
2012-08-08
How to capture screen?
ffmpeg -f x11grab -r 25 -s 512x384 -i :0.0+8,40 -b 1500k ~/out.ogg-f:格式。「x11grab」表示欲對X11的螢幕掠。
-r:frames per second。
-s:size,闊度、懸度。
-i:X11設備編號,通常就是「0.0」。「+8,40」(+x,y)表示欲對佗開始掠。
-b:bitrate,video的bitrate。
2012-07-28
How to backup karaoke DVD?
欲放卡拉OK的DVD 予媽媽唱歌,DVD player煞讀無DVD。愛緊想辦法,先用電腦共卡拉OK DVD備份落來。
(1)mplayer -identify dvd:// | grep -i title
先用mplayer 看有幾條歌(chapter),囥佇佗(title)。
結果有1逝顯示:
ID_DVD_TITLE_2_CHAPTERS=20
表示囥佇title 2,有20條歌。(第1个title四常是menu)
(2)for ((i=1; i<=20; i++)); do mplayer dvd://2 -chapter $i-$i -dumpstream -dumpfile $i.vob; done
用「mplayer」共歌備份落來。1條歌1个檔案。
(3)for ((i=1; i<=20; i++)); do ffmpeg -i $i.vob -b 1500k -acodec libvorbis -ab 160k -ac 2 $i.ogg; done
用「ffmpeg」共備份的vob 轉做「ogg」,較袂佔空間。
(1)mplayer -identify dvd:// | grep -i title
先用mplayer 看有幾條歌(chapter),囥佇佗(title)。
結果有1逝顯示:
ID_DVD_TITLE_2_CHAPTERS=20
表示囥佇title 2,有20條歌。(第1个title四常是menu)
(2)for ((i=1; i<=20; i++)); do mplayer dvd://2 -chapter $i-$i -dumpstream -dumpfile $i.vob; done
用「mplayer」共歌備份落來。1條歌1个檔案。
(3)for ((i=1; i<=20; i++)); do ffmpeg -i $i.vob -b 1500k -acodec libvorbis -ab 160k -ac 2 $i.ogg; done
用「ffmpeg」共備份的vob 轉做「ogg」,較袂佔空間。
2012-05-28
How to backup DVD?
四常用「Brasero」抑是「K3b」,無,用「dvd::rip」。
欲較簡單的,就用「readom」、「wodim」。
(1)wodim --devices
列出會當用的設備。親像:
-------------------------------------------------------------------------
0 dev='/dev/scd0' rwrw-- : 'Slimtype' 'DVD A DS8A4SH'
-------------------------------------------------------------------------
(2)readom dev=/dev/scd0 f=dvd.iso
共dvd 備份做ISO檔案。
「dev=設備名」。
「f=ISO檔名」。
(3)wodim -v dev=/dev/scd0 -eject dvd.iso
共ISO檔案燒做dvd來備份。
「-v」:verbose,顯示進度。
「-eject」:燒好共dvd退出來。
欲較簡單的,就用「readom」、「wodim」。
(1)wodim --devices
列出會當用的設備。親像:
-------------------------------------------------------------------------
0 dev='/dev/scd0' rwrw-- : 'Slimtype' 'DVD A DS8A4SH'
-------------------------------------------------------------------------
(2)readom dev=/dev/scd0 f=dvd.iso
共dvd 備份做ISO檔案。
「dev=設備名」。
「f=ISO檔名」。
(3)wodim -v dev=/dev/scd0 -eject dvd.iso
共ISO檔案燒做dvd來備份。
「-v」:verbose,顯示進度。
「-eject」:燒好共dvd退出來。
2012-04-19
How to remove mp3 tags?
一堆以早備份的mp3檔案,內底的標籤(tag)攏是亂碼(BIG5?),MP3 player無法度正確顯示。貧惰閣去處理,直接用「id3v2」共標籤提掉較緊。
find . -name "*.mp3" -exec id3v2 -D '{}' ';'
「-D」會共「id3v1」、「id3v2」的標籤攏提掉。
「'{}'」表示「find」揣著的檔案。
2012-04-10
How to convert mp3 to ogg?
有1堆「mp3」的歌曲,想欲轉做開放的「ogg」格式,直接用「ffmpeg」就會當。
「${i%.*} 」是Shell的功能,會共「extension name」(.mp3)提掉。
有寡player干焦會當放mp3,按呢無法度,著愛共ogg 轉做 mp3:
for i in *.ogg; do ffmpeg -sameq -i "$i" "${i%.*}.mp3"; done
for i in *.mp3; do ffmpeg -sameq -i "$i" "${i%.*}.ogg"; done
「${i%.*} 」是Shell的功能,會共「extension name」(.mp3)提掉。
有寡player干焦會當放mp3,按呢無法度,著愛共ogg 轉做 mp3:
for i in *.ogg; do ffmpeg -sameq -i "$i" "${i%.*}.mp3"; done
訂閱:
文章 (Atom)