顯示具有 script 標籤的文章。 顯示所有文章
顯示具有 script 標籤的文章。 顯示所有文章

2015年4月22日 星期三

如何方便的將影片轉成 gif

有時候我需要將影片片段轉成 gif 動畫來分享
有沒有比較方便的方法呢?

你可以使用 ffmpeg 然後使用參數來轉檔
像是這樣
ffmpeg -ss 00:00:00.000 -t 10 -i filename.avi -vf scale=320:-1 -r 10 /tmp/output.gif
-ss 是起始時間
-t 總共所需時間(秒)
-i是檔名
-vf scale= 320:-1 則是將解析度設定為 320 X (自動)
-r 是 fps (frame per second)
/tmp/output.gif gif 輸出的檔名

可是這樣的參數實在有點難記
於是寫了一個簡單的 script 只要將你需要的參數填入就好


$ vim gif
#!/bin/bash
# convert movie to gif.
# $1 position hh:mm:ss[.xxx]
# $2 duration
# $3 file name
ffmpeg -ss "$1" -t "$2" -i "$3" -vf scale=320:-1 -r 10 /tmp/output.gif


執行的時候你只需要填入3個參數
  1. 起始時間
  2. 總共所需時間(秒)
  3. 檔名
$ gif 10:01 3 /tmp/filename.avi

這就是對 /tmp/filename.avi 取 3 秒鐘的影片轉成 gif 從 10 分 01 秒開始
把寫好的 script 複製到 /usr/bin 底下
以後就可以使用 gif 這個指令來建立你的 gif 圖檔了

2014年9月7日 星期日

使用 date 指令計算日期

如何快速的算出3個禮拜前是幾月幾號呢?
難道還要自己寫判斷式嗎?別鬧了
使用 date 指令就可以快速的算出來了


$ date -d 'now + 3 weeks'
日  9月 28 09:46:07 CST 2014
$ date -d 'Aug 4 + 3 weeks'
日  9月 28 09:46:07 CST 2014
$ date -d 'Jan 1 1982 + 11 weeks'
五  3月 19 00:00:00 CST 1982
只要這樣子使用就可以快速的算出來囉!
如果你只需要年月日
你也可以這麼寫
$ date -d 'now - 3 weeks' +%y%m%d
140817
$ date -d 'now - 3 weeks' +%Y%m%d
20140817
如果的檔名是用日期來命名
你又想要排程刪除特定日期的檔案
那麼這個計算方式就很管用了

參考來源:

2013年4月25日 星期四

絕對要注意的Linux惡意指令


(這篇文章本來是放在Ubuntu Forums上的,不過後來被移除了。Ubuntu guide 覺得這樣的知識會帶來誤導的風險,但又認為知識應該要保持開放而不是隱藏危險來保護(K)Ubuntu/Linux的形象,於是原本的文件則被重新建立到這裡
注意:
關於一些惡意指令你相當需要花一些時間來做一些基本的了解,不論你要執行什麼指令,你都必須小心,尤其是以下這些指令(或類似的指令,或下載來的scripts)
建議你開啟螢幕保護程式並且使用密碼,來避免在你離開電腦的時候,不小心被執行了以下任何的指令。
當你對以下的指令感到懷疑、不安時,建議你可以參考man pages來了解指令的意義。
這裡有些具有危險性的範例,並不建議你在任何的電腦上執行,尤其是這電腦上擁有具有價值的資料時。建議你可以在LiveCD或者Virtual Machine的環境中實驗。

2012年10月1日 星期一

如何使用bash shell script來批次修改圖檔大小

如果有大量的圖片需要從較大解析度轉成較小的解析度時,用圖形管理軟體一張一張轉換是很費工費時的,如果使用shell script就可以一次批次處理了。

2012年8月13日 星期一

解決在linux環境下,將桌面廣播到justintv

首先你必須要有justintv的帳號(廢話),
然後你的justintv帳號必須是開發者的帳號,可以到這裡申請,
然後到這邊來產生你的stream key,
如果還沒登入,會出現這行訊息 To get your stream key, please sign in.
你只要點sign in,登入你在justintv的帳號密碼,
他就會產生出一組stream key給你了
stream key代表你個人,所以請不要將這組key公開在網路上,
任何人只要有這組key就可以透過你的帳號來傳送live影片,

#!/bin/bash
API_KEY="YOUR STREAM KEY"
FPS="15"

INRES='1280x800'
OUTRES='1280x800'

ffmpeg -f x11grab -s "$INRES" -r "$FPS" -i :0.0 \
               -f alsa -i hw:0,0 -vcodec libx264  -s "$OUTRES"  \
               -acodec libmp3lame -ab 64k -ar 22050 -threads 0 \
               -f flv "rtmp://live.justin.tv/app/$API_KEY"

-f x11grab 設定格式是抓取x11的畫面
-s 設定抓取的畫面解析度有多高
-r 設定每秒要幾個畫面
-i 設定要抓取哪個裝置
-vcodec 設定輸出影片編碼格式
-acodec 設定輸出聲音編碼格式
-ab 設定影像輸出bitrate
-ar 設定聲音sample rate(in Hz)
-threads 0 自動檢查和選擇適合的thread數量來壓縮影片
-f flv "rtmp://live.justin.tv/app/$API_KEY"
設定輸出的檔案格式為flash,並且將影片導到justintv的rtmp裡

2012年4月22日 星期日

在firefox上使用KDE預設程式來開啟下載的檔案

其實在chakra上有firefox-kde-opensuse在KDE的整合上沒什麼問題,不過最近我想用看看bundle上的firefox,才發現bundle上的firefox跟KDE的整合性不是太好,尤其是下載檔案後無法點兩下就開啟該檔。

2012年3月4日 星期日

讓sudo也可以支援自定義的alias

一般情況下sudo是不支援alias裏面自定義的指令的
我的ll是
alias ll='ls -l --group-directories-first --time-style=+"%d.%m.%Y %H:%M" --color=auto -F'
如果你打sudo ll
就會變成
sudo: ll: command not found
因為alias並沒有被讀到
我們可以用下面這個方法來讓sudo也可以支援alias

2011年12月12日 星期一

透過ksnapshot直接上傳圖片到imgur.com

imgur.com是我很喜歡的一個圖床網站,
ksnapshot也是在kde一個非常優異的截圖軟體,
如果你的linux有裝ksnapshot也有裝kipi-plugins,
當按你下print screen之後,
你會發現ksnapshot的「傳送到」功能裏面有很多網站可以選取,
有flickr、picasa、facebook,但是唯獨就是少了我常用的imgur,

2011年12月8日 星期四

檢查系統空間是否小於10%的script

有朋友想要一個script可以幫忙檢測檔案系統剩餘容量是否小於10%
如果小於10% 就發信告知
於是我幫忙寫了一個小程式讓他可以用
只要利用crotab排程來檢查就OK了
DISK和PERCENT的值可以依據個人的需求做改變


#!/bin/bash
##################################
# Author Max                     #
# Date 2011/12/08                #
# Ver. 1.0                       #
##################################
DISK=sda1
PERCENT=10
SIZE=`df -h|grep $DISK|awk '{print $5}'|cut -d '%' -f1`

if [ $((SIZE)) -lt $PERCENT ];then
echo "DISK FULL,CLEAR NOW!!!! / LESS THEN $PERCENT %" | /usr/bin/mail -s "DISK SPACE LESS THEN $PERCENT %" XXX@gmail.com
fi

2011年11月25日 星期五

Kubuntu 11.10 lazy script

因為喜歡KDE也喜歡ubuntu所以使用kubuntu當我的桌面系統
但是長期以來很多人認為linux不好學或者是認為他是個很buggy的系統
於是常常都只是站在觀望的角度在看這個系統
現在我寫了一個小script希望可以幫助到一些對linux有興趣,但是功力還不深的新手
希望他們不要因為剛裝完kubuntu就因為不能打中文,
不能看影片,不能用JAVA,一下子馬上就放棄學習這個系統的機會

2011年9月6日 星期二

如何利用script自動擋住惡意ip (block ip)

如果你是用ubuntu當server,iptables的用法與redhat的iptables有些些的不同
你可以下以下的指令先將目前iptables的rule給儲存在/etc/iptables.rule底下

2011年8月29日 星期一

超快速截圖與上傳到imgur.com並複製連結網址

自從開始用一些截圖軟體後一直都總覺得在操作上有點繁瑣
都是截圖-->上傳-->複製網址-->貼上
一直都好像沒有更簡化的工具可以使用
後來發現imgurl.com這個圖床網站
不僅提供Firefox、Chrome的插件之外還提供各種平台上傳圖檔的工具
對於linux的使用者來說真的非常友善
不過今天還發現有個超好用的script可以快速的截圖-->上傳-->複製網址
你只要負責按下熱鍵然後再按下ctrl+v貼上就完成貼圖了
一整個超快速
具體的作法如下

2011年8月4日 星期四

讓任何人可以上傳任何檔案到你的Dropbox

其實方法蠻多種的,最快速的方法是透過jotform,作法請參考這篇 軟體玩家:讓別人也能把檔案輕鬆上傳到你的Dropbox空間!
jotform的方法其實非常的棒,也非常快速,不過缺點就是不支援中文,不管是中文檔名還是中文的描述,都有問題,中文檔名不會被傳送,而中文描述則會變成亂碼,於是我又找到另外一種方法,不過這個方法麻煩多了,你得要有SERVER才能用,因為他是PHP的網頁型式,優點當然就是完全可以自訂,這個網頁程式碼你可以隨便改成你喜歡的樣子,而且檔案上傳也完全沒有中文的問題,你可以到這裡下載程式碼,然後解縮到你的web server上,或者你也可以下指令:

如何產生特定SIZE的檔案

有時候可能會因為要測試,需要產生不同大小的檔案來協助測試,
可是使用touch指令只能產生0 byte的檔案,
如果我們需要較大的檔案該怎麼辦呢?
你可以使用dd指令:
dd if=/dev/zero of=myfile bs=1000 count=300000
or
dd if=/dev/zero of=myfile bs=1 count=0 seek=300M
這兩個指令都可以產生300mb的空檔案,這樣就可以用來協助測試了
例如可以用來測試檔案上傳的速度或者限制。
如果你的測試環境會阻擋空內容的檔案,
你也可以使用/dev/random來產生內容是亂碼的檔案 。

參考來源:http://is.gd/1xxMs0

2011年8月2日 星期二

給linux power user用的 15 個ubuntu小技巧

其實這也不是什麼大不了的技巧,不過如果學會應該會對你操作ubuntu上更加得心應手吧!

1. 在command line上可以更簡潔快速的移動

你在命令列時你可能知道用tab鍵可以幫你輸入檔名,不過這邊還有一些其他的小撇步可以讓你的文字模式更好用

2011年7月27日 星期三

解決ubuntu 11.04 (natty)控制thinkpad充電時機的問題

升級ubuntu到natty (11.04 )之後,原本的tp_smapi似乎不能用了,怎麼mak load都不會過,上網查了一些方法,找到這個
sudo apt-get install tp-smapi-source
sudo m-a a-i tp-smapi
sudo modprobe tp_smapi
安裝完以後就可以用之前的方法來控制電源的充電時機了

echo 20 > /sys/devices/platform/smapi/BAT0/start_charge_thresh
echo 80 > /sys/devices/platform/smapi/BAT0/stop_charge_thresh
這兩行指令的意思是當電源低於20%的時候充電,充到80%就停止充電,電源最好不要隨時都充滿100%或者每次都用到0%才充電,20、80是延長電池壽命最好的比例。

參考來源:HOWTO: Extend the Life of Your Thinkpad's Battery (tp_smapi) - Page 4 - Ubuntu Forums

2011年7月21日 星期四

找出從特定日期到今天有被修改過的檔案

今天朋友問我他想要找2011/01/01到今天有被修改過的檔案,該用什麼指令來找?我本來想用ls來寫,沒想到還真難寫,後來找到find指令有這個功能,但是要輸入天數,結果又寫了一個計算天數的程式,我才發現,linux居然沒有可以計算天數的指令?!只好自己寫了一個小script來用

2011年7月20日 星期三

在Linux底下建立CD-ROM ISO image

不需要mount CD
如果已經mount了,就先把他unmount掉
umount /dev/cdrom
利用dd指令建立 CD-ROM ISO image
dd if=/dev/cdrom of=/tmp/cdimg1.iso
參考來源:http://www.cyberciti.biz/tips/linux-creating-cd-rom-iso-image.html

使用bash-support Plugin讓你的Vim成為你的Bash-IDE

因為自己有在寫一些bash shell script,所以想找個IDE來用,沒想到居然找到一個這麼geek特別的IDE,我想應該很適合用vim當成開發工具的人吧?!安裝的過程非常簡單,解壓縮後再做一點簡單的設定就可以用了,只是一些新增的熱鍵需要重新記憶就是了