recpt1についてるtssplitter_liteをrecfriioに移植した

先月の話ですが、recpt1についてるtssplitter_liteによるPID指定切り出し機能をrecfriioに移植しました。

ha1t/recfriio – GitHub

これによって、


$ recfriio --b25 --strip --sid hd  22 1860

のように、–sidでPIDを指定できます。recpt1にとりこまれているマクロもコピーしているので、PID番号だけでなく「hd」などの文字列指定による指定も可能です。

Arduino UNOのシリアル通信をrubyで操作する

Ubuntu 10.04にArduino UNOを接続してrubyを使ってArduinoとシリアル通信を行う話です。

Arduino UNOの場合、特にドライバをインストールしなくても、Ubuntu Linuxに接続するだけで使う事ができます。挿し込むと/dev/ttyACM0がでてくるので、これをruby側で指定すればOK。

rubyでシリアル通信を行うには、ruby-serialportを利用します。「sudo gem install ruby-serialport」でインストールできます。

Arduinoから送信される通信を受け取って表示するコードは以下のような感じになります。


require 'rubygems'
require 'serialport'

port = "/dev/ttyACM0"

def receive port
  sp = SerialPort.new(port, 9600, 8, 1, SerialPort::NONE)
  loop do
      puts sp.readline
  end
  sp.close
end

receive port

送信する場合はwriteメソッドを使います。簡単ですね。

15年前に書いたコード

15年前に書いたと思われる大変恥ずかしい古文書を発掘いたしましたのでgistに貼っておきます。

https://gist.github.com/1476177

/* _/_/_/時間によってメッセージを変更_/_/_/*/
function putTime()
{
d=new Date();
h=d.getHours();
if(h<5){document.write("真夜中ですな。テレホ入ってますか?");}
   else if(h<11){document.write("おっはよーございます。おげんきですか?");}
   else if(h<15){document.write("お昼。ご飯食べた?");}
   else if(h<16){document.write("3時。おやつちょうだいです。");}
   else if(h<19){document.write("もう暗くなってきたね。");}
   else{document.write("よる。ねむいなあ。(-.-)Zzz・・・(゚_゚)パチッ");}
}
view raw gistfile1.js This Gist brought to you by GitHub.

我が家のts2mp4エンコードスクリプト

うちのCPUはQ6600でちょっと時代遅れ感あるので、今のところ1passで画質よりも変換速度とサイズ縮小を目的の設定にしてある。変換サーバが高負荷の時に音ズレが発生する問題があったが、bitexactを足してから落ち着いたような気がしている。時間のある時にチューニングして2passにする予定。


nice -n 19 \
ffmpeg -threads 4 -i ${TS} -f mp4 -vcodec libx264 \
-bf 4 \
-flags +bitexact \
-flags2 +fastpskip+mbtree \
-r 30000/1001 -b 600k -aspect 16:9 -s 720x540 \
-deinterlace -copyts \
-absf aac_adtstoasc \
-acodec libfaac -ac 2 -ar 48000 -ab 128k \
-y ${BASE}.mp4