2009/04/15

tsMuxeR 1.9.9 真是 PS3 一族的福音啊!

tsMuxeR 是用來製作 miniBD/AVCHD 的好工具,自從 1.8.4 之後加入了字幕功能,已經能夠處理 HD 正確解析度的影片,然而非標準解析的影片會有上下綠邊的問題。這次在 1.9.9 終於再把這個問題解決了,推測他使用的方式就是在影片最前面塞入正確解析的黑色影片段,這樣原本綠邊的部分因為沒有影像更改資訊,就會持續以黑色存在。實際效果,等我測試幾次後再來說說。
重大利多,趕緊公布,有此需求的趕快去官方網站看看。http://www.smlabs.net/tsmuxer_en.html

Version 1.9.9:
* Bug fixed: Fixed problem with DTS-HD Master Audio on Popcorn player.
* Bug fixed: Fixed problem with interlaced VC-1 streams (stream not detected).
* Added compatibility with H.264 camcorders(pic_order_cnt_type 2 now supported).
* added option "--insertBlankPL" which allows to add short black video (near 0.5 second) before main video. It is sovles the problem of "green bar" for cropped video on some players such PS3.
* Added options --mplsOffset and --m2tsOffset for changing M2TS and MPLS files enumeration.
* video_format field in MPLS file now always filled, including cropped video.
* Empty folders are no longer created in AVCHD mode (CERTIFICATE, JAR e.t.c)

--- 2009/04/16 ---
簡單整理一下幾個解析度的結果
1280 x 576 以下: 降為 480p 而且沒有字幕
1280 x 576 以上: 影片在最上面, 可以顯示字幕
1920 x 576 以下: 沒有片源, 無法測試
1920 x 576 以上: 影片在最上面, 可以顯示字幕
據此判斷在 垂直解析度必須高於 576 才可以, 眾多 1280 x 544 目前仍無法正確配用, 不過還是多了 576 以上的片源可以快速轉給 PS3 撥放.

2008/08/13

MySQL 的管理密碼忘記的補救措施

先關閉 MySQL Server
#/etc/init.d/mysql stop

然後重啟 MySQL 並加上額外選項:
mysqld --skip-grant-tables &

再執行 MySQL Client:
#mysql
mysql>use mysql
mysql>update user set password=password("新的密碼打在這裡面") where user="root";
mysql>flush privileges;
mysql>exit;

把剛剛直行的 mysqld 關閉,然後重新正常啟動 MySQL server,就可以用新的密碼登錄

2008/07/23

在 mysql 建立 radius 所需的資料庫

在完成 freeradius 跟 mysql 的安裝之後,當然要建立給 radius 使用的資料庫。使用 freeradius 裡面的範例結構來建立就行了。檔案會在 /usr/src/freeradius/freeradius-1.1.3/doc/examples/mysql.sql

1. 建立 radius 資料庫
debianj:/# mysql -uroot -p**********
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 10
Server version: 5.0.32-Debian_7etch5-log Debian etch distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> create database radius;
Query OK, 1 row affected (0.24 sec)

mysql> exit
Bye

2. 建立範例提供的資料表 (請注意那個只有一行)
debianj:/# mysql -uroot -p********** radius < /usr/src/freeradius/freeradius-1.1.3/doc/examples/mysql.sql
基本上他會建立
nas (對應 client.conf 設定 nas 的相關資料)
radacct
radcheck (對應 users 的使用者資料)
radgroupcheck
radgroupreply (對應 users 的群組資料)
radpostauth
radreply
usergroup
這八個資料表,至於各個資料表的功能,先不管,以後再看吧!

3. 建立群組資料
insert into radgroupreply (groupname,attribute,op,value) values ('taichung','Auth-Type',':=','Local');
insert into radgroupreply (groupname,attribute,op,value) values ('taichung','Service-Type',':=','Framed-User');
insert into radgroupreply (groupname,attribute,op,value) values ('taichung','Framed-IP-Address',':=','255.255.255.254');
insert into radgroupreply (groupname,attribute,op,value) values ('taichung','Framed-IP-Netmask',':=','255.255.255.0');

4. 建立使用者
insert into radcheck (username,attribute,op,value) values ('aimwang','User-Password',':=','superman');

5. 幫使用者跟群組建立關係
insert into usergroup (username,groupname) values ('aimwang','taichung');

6. 建立 nas 資料
insert into nas (nasname, shortname, secret) values ('192.168.10.1/24', 'RubytechTC', 'rubytech');

7. 把 radiusd.conf 的
authorize {sql}
accounting {sql}
session {sql}
post-auth {sql}
# 解開

8. 修改 sql.conf 裡面的 login 資訊
# Connect info
server = "localhost"
login = "radius"
password = "**************"

#
# Set to 'yes' to read radius clients from the database ('nas' table)
readclients = yes
server 如果在別台,請改掉
login 帳號,建議就增加一個給 radius 用吧
password 當然就是密碼啦
readclients 如果要從在資料庫管理 clients 的話,把他前面的 # 拿掉

2008/07/09

Debian 安裝 MySQL

為了提供 AAA 環境暖身,準備使用 freeradius + MySQL 來完成,所以要先安裝 MySQL。
沒有比安裝 MySQL 更簡單的了。

#apt-get install mysql-server


目前的版本為 5.0.32-7etch5

安裝完成之後,第一個工作自然是更改至高無上的 root 的密碼(MySQL 的不是系統的)。其中 ooxxoo 就是指定的新密碼

#mysqladmin -h localhost -u root password ooxxoo


使用文字模式管理 MySQL 實在很惱人,安裝 mysql gui tools 吧

第一次使用,恐怕無法從遠端登錄成功。要更改 debian 的 ssh 設定,修改 /etc/ssh/ssh_config 新增下面內容

Host remotesql
Hostname *
User root
LocalForward *:13306 localhost:3306


然後執行

ssh -f -N remotesql


詢問密碼的時候,就輸入系統的 root 密碼
這段我也還有疑問,因為我不是設定成 root,但是 mysqladmin 卻可以用 root 登錄。先不管他,目前能用就好。GUI tools 的 Port 要記得改成 13306。

2008/06/12

Debain 建置支援 PEAP 的 Radius 認證環境

Debian Stable 的 Freeradius 預設不支援 PEAP,害我繞了一大圈,寫下來當筆記。如果已經安裝 Freeradius,請務必先完整移除。按順序操作應該都不會出錯。

1. 建立原始碼儲存資料夾

#mkdir /usr/src/freeradius
#cd /usr/src/freeradius


2. 安裝必要條件及下載原始碼

#apt-get update
#apt-get build-dep freeradius
#apt-get install libssl-dev fakeroot
#apt-get source freeradius


3. 編輯 /usr/src/freeradius/freeradius-1.1.3/debian/control 把 libssl-dev 加入相依並從牴觸移除。也就是加入第二行(Build-Depends)最後面,從第三行(Build-Conflicts)拿掉。

Build-Depends: debhelper (>= 5), libltdl3-dev, libpam0g-dev, libmysqlclient15-dev | libmysqlclient-dev, libgdbm-dev, libldap2-dev, libsasl2-dev, libiodbc2-dev, libkrb5-dev, snmp, autotools-dev, dpatch (>= 2), libperl-dev, libtool, dpkg-dev (>= 1.13.19), libssl-dev
Build-Conflicts:


4. 同樣編輯 /usr/src/freeradius/freeradius-1.1.3/debian/control 在檔案最後面加入 EAP 模組,這裡要特別注意各模組的 Description 下面幾行最前面都要空一格,才會被視為 Description 的一部分,否則會出錯。

Package: freeradius-eaptls
Architecture: any
Depends: freeradius (= ${binary:Version}), ${shlibs:Depends}
Description: eap-tls module for FreeRADIUS server
Debian will not provide a binary version of the rlm_eap_tls.so library. This
module is required if you want to use EAP/TLS authentication, commonly used
for WiFi access points.

Package: freeradius-eappeap
Architecture: any
Depends: freeradius (= ${binary:Version}), ${shlibs:Depends}
Description: eap-peap module for FreeRADIUS server
Debian will not provide a binary version of the rlm_eap_peap.so library. This
module is required if you want to use EAP/PEAP authentication, commonly used
for WiFi access points.


5. 編輯 /usr/src/freeradius/freeradius-1.1.3/debian/rules 搜尋 "buildssl=" ,把 tls 和 peap 的 without 拿掉,如果有其他需求,就再拿到需要的 without 吧。再搜尋 "moduleslist=" 加入 eap_peap eap_tls。變成

buildssl=--without-rlm_otp --without-rlm_sql_postgresql --without-snmp
modulelist=krb5 ldap sql_mysql sql_iodbc eap_peap eap_tls


6. 建立檔案 /usr/src/freeradius/freeradius-1.1.3/debian/freeradius-eaptls.install 內容為

usr/lib/freeradius/rlm_eap_tls*.so


7. 建立檔案 /usr/src/freeradius/freeradius-1.1.3/debian/freeradius-eappeap.install 內容為

usr/lib/freeradius/rlm_eap_peap*.so


8. 建立檔案 /usr/src/freeradius/freeradius-1.1.3/debian/freeradius-eaptls.postinst 內容為

#! /bin/sh

set -e

case "$1" in
configure)
if [ -x "`which invoke-rc.d 2>/dev/null`" ]; then
invoke-rc.d freeradius restart
else
/etc/init.d/freeradius restart
fi
;;
abort-upgrade)
;;
abort-remove)
;;
abort-deconfigure)
;;
esac


9. 建立檔案 /usr/src/freeradius/freeradius-1.1.3/debian/freeradius-eappeap.postinst 內容為

#! /bin/sh

set -e

case "$1" in
configure)
if [ -x "`which invoke-rc.d 2>/dev/null`" ]; then
invoke-rc.d freeradius reload
else
/etc/init.d/freeradius reload
fi
;;
abort-upgrade)
;;
abort-remove)
;;
abort-deconfigure)
;;
esac


10. 編譯

#cd /usr/src/freeradius/freeradius-1.1.3/
#dpkg-buildpackage -rfakeroot -uc -us

完成後應該可以在 /usr/src/freradius 看到一堆 freeradius-*.deb

11. 逐一安裝需要的套件

#dpkg -i freeradius_1.1.3-3_i386.deb
#dpkg -i freeradius-eaptls_1.1.3-3_i386.deb
#dpkg -i freeradius-eappeap_1.1.3-3_i386.deb

#dpkg -i freeradius-dialupadmin_1.1.3-3_all.deb
#dpkg -i freeradius-iodbc_1.1.3-3_i386.deb
#dpkg -i freeradius-krb5_1.1.3-3_i386.deb
#dpkg -i freeradius-ldap_1.1.3-3_i386.deb
#dpkg -i freeradius-mysql_1.1.3-3_i386.deb

安裝成功應該就可以看到 freeradius 的執行緒

#ps aux | grep freeradius