必要なフリーウェア
VODファイルから音声を分割 (プロジェクトの保存にて.d2vファイルと .wavファイルができる)
・DVD2AVI http://nextalpha.ddo.jp/alpha/dvd/d2.htm
音声と映像を合成 (もとのVOBファイルと wavファイルとを合成させる。)
・AviUtl http://spring-fragrance.mints.ne.jp/aviutl/
AviUtlをm2v形式に対応させるために必要なPlugIn
(解凍したファイルすべてをAviUtlフォルダ内にコピー)
・MPEG-2 VIDEO VFAPI Plug-In http://www.marumo.ne.jp/mpeg2/
VOBファイルをDVD2AVIで音声(wavファイル)を抽出し、AviUtilで元のVOBファイルと合成させるだけ。
注意点はDVD2AVIの音声出力形式の設定でwavを選択しないと
音声ファイルがでない。
2009年12月22日火曜日
2009年11月13日金曜日
SQLiteをGUIで楽に管理するまとめ
sqliteは癖があってなかなか使いづらかったのですが、
下記ソフトでインポートが特に楽にできました。
軽くてオススメ!!
TkSQLite - mynote
PupSQLite もsqliteを扱うのにすばらしいのですが
TkSQLiteはインポートもとの文字コードがSJIS等でも
読みこめるというところがいい。
インポートに関してはTkSqlite。
区切りの指定、改行の指定などを選択できるので
正しく読み込む。
pupSQLite は 半角( と .ドットがあると
エラーを起こすと説明にあり。(version 1.8.4.1)
他にかわりどころでFirefoxのアドオンで。
sqlite-manager
http://code.google.com/p/sqlite-manager/
ちなみにpupSQLiteは Sqlite3のみに対応。
下記ソフトでインポートが特に楽にできました。
軽くてオススメ!!
TkSQLite - mynote
PupSQLite もsqliteを扱うのにすばらしいのですが
TkSQLiteはインポートもとの文字コードがSJIS等でも
読みこめるというところがいい。
インポートに関してはTkSqlite。
区切りの指定、改行の指定などを選択できるので
正しく読み込む。
pupSQLite は 半角( と .ドットがあると
エラーを起こすと説明にあり。(version 1.8.4.1)
他にかわりどころでFirefoxのアドオンで。
sqlite-manager
http://code.google.com/p/sqlite-manager/
ちなみにpupSQLiteは Sqlite3のみに対応。
2009年10月27日火曜日
IEでのz-indexの順番とposition:fixについて
IEだけはどうも使えなくて困りはてた。
IEでのCSSについて。(IEバージョン8でもそうなった)
htmlタグ内で、先に出てきた要素をz-indexにて一番上にするよう指定する。
次に出てきた要素をその下にしたいと思ったときに、どうも後からの要素を
上にしてしまうときがあるようだ。
対応として、body要素の最後にタグを移動させた。
jqueryを使った場合。
$("#higher").appendTo(document.body);
これで重なり順が一番上に表示されるようになる。
次にposition:fixについて。
ほかのサイトを見ていて攻略法がわかった。
#heigher{
position:fixed!important;
position:absolute;
}
これでいけます。
ちなみにjqueryでCSSをあとから指定してもだめで、
$("#heigher").css({position: "fixed!important", position: "absolute"});
静的に記述をしておく。
IEでのCSSについて。(IEバージョン8でもそうなった)
htmlタグ内で、先に出てきた要素をz-indexにて一番上にするよう指定する。
次に出てきた要素をその下にしたいと思ったときに、どうも後からの要素を
上にしてしまうときがあるようだ。
対応として、body要素の最後にタグを移動させた。
jqueryを使った場合。
$("#higher").appendTo(document.body);
これで重なり順が一番上に表示されるようになる。
次にposition:fixについて。
ほかのサイトを見ていて攻略法がわかった。
#heigher{
position:fixed!important;
position:absolute;
}
これでいけます。
ちなみにjqueryでCSSをあとから指定してもだめで、
$("#heigher").css({position: "fixed!important", position: "absolute"});
静的に記述をしておく。
2009年9月2日水曜日
Vistaに移行した人のためのメモ VertrigoServ(その他プログラム)がうまく動かないときためすこと
VertrigoServをインストールしたのち動かすとMysqlがエラー出して動きませんといわれてしまいました。
コマンドラインから動かしてみると
ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)
のようにいわれてしまう。
はじめはファイヤウォールとかだろうなどと思ってたが、
直接動かないので権限周りだろうとあたりをつけたところビンゴ。
んで解決策。
やっぱりVistaの方が困っていたようで
このへんも見てみたけどprogram filesフォルダにインストールしないと動くみたいですね。
そしてもっとスマートな解決法がこれ

プログラムのプロパティを開いて「管理者としてこのプログラムを実行する」にチェックを入れればOK.
httpd.confなんかも編集できるようになります。
XPからVistaになり、権限が厳しくなって手間が増えました。
コマンドラインから動かしてみると
ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)
のようにいわれてしまう。
はじめはファイヤウォールとかだろうなどと思ってたが、
直接動かないので権限周りだろうとあたりをつけたところビンゴ。
んで解決策。
やっぱりVistaの方が困っていたようで
このへんも見てみたけどprogram filesフォルダにインストールしないと動くみたいですね。
そしてもっとスマートな解決法がこれ

プログラムのプロパティを開いて「管理者としてこのプログラムを実行する」にチェックを入れればOK.
httpd.confなんかも編集できるようになります。
XPからVistaになり、権限が厳しくなって手間が増えました。
2009年7月31日金曜日
バイナリデータも含むmultipartをPOST送信
sendAsBinaryだとどうも日本語が含まれるとうまく送信できないみたい。
ソース:http://blog.footle.org/2007/07/31/binary-multipart-posts-in-javascript/
ソース:http://blog.footle.org/2007/07/31/binary-multipart-posts-in-javascript/
var dataURL = this.canvas.toDataURL(this.getImageType()); // grab the snapshot as base64
var imgData = atob(dataURL.substring(13 + this.getImageType().length)); // convert to binary
var filenameTimestamp = (new Date().getTime());
var separator = "----------12345-multipart-boundary-" + filenameTimestamp;
// Javascript munges binary data when it undergoes string operations (such as concatenation), so we need
// to jump through a bunch of hoops with streams to make sure that doesn't happen
// create a string input stream with the form preamble
var prefixStringInputStream = Components.classes["@mozilla.org/io/string-input-stream;1"].createInstance(Components.interfaces.nsIStringInputStream);
var formData =
"--" + separator + "\\r\\n" +
"Content-Disposition: form-data; name=\"data\"; filename=\"snapshot_" + filenameTimestamp +
(this.getImageType() === "image/jpeg" ? ".jpg" : ".png") + "\"\\r\\n" +
"Content-Type: " + this.getImageType() + "\\r\\n\\r\\n";
prefixStringInputStream.setData(formData, formData.length);
// write the image data via a binary output stream, to a storage stream
var binaryOutputStream = Components.classes["@mozilla.org/binaryoutputstream;1"].createInstance(Components.interfaces.nsIBinaryOutputStream);
var storageStream = Components.classes["@mozilla.org/storagestream;1"].createInstance(Components.interfaces.nsIStorageStream);
storageStream.init(4096, imgData.length, null);
binaryOutputStream.setOutputStream(storageStream.getOutputStream(0));
binaryOutputStream.writeBytes(imgData, imgData.length);
binaryOutputStream.close();
// write out the rest of the form to another string input stream
var suffixStringInputStream = Components.classes["@mozilla.org/io/string-input-stream;1"].createInstance(Components.interfaces.nsIStringInputStream);
formData =
"\\r\\n--" + separator + "\\r\\n" +
"Content-Disposition: form-data; name=\"description\"\\r\\n\\r\\n" + description + "\\r\\n" +
"--" + separator + "--\\r\\n";
suffixStringInputStream.setData(formData, formData.length);
// multiplex the streams together
var multiStream = Components.classes["@mozilla.org/io/multiplex-input-stream;1"].createInstance(Components.interfaces.nsIMultiplexInputStream);
multiStream.appendStream(prefixStringInputStream);
multiStream.appendStream(storageStream.newInputStream(0));
multiStream.appendStream(suffixStringInputStream);
// post it
req.open("POST", "http://yoursite.com/upload_endpoint", true);
req.setRequestHeader("Accept", "*/*, application/xml");
req.setRequestHeader("Content-type", "multipart/form-data; boundary=" + separator);
req.setRequestHeader("Content-length", multiStream.available());
req.setRequestHeader("Authorization", "Basic " + btoa(username + ":" + password));
req.setRequestHeader("User-Agent", "YourUserAgent/1.0.0");
req.send(multiStream);
2009年7月17日金曜日
Firefoxアドオンの為の、バイナリデータの表示など
バイナリデータからドキュメントに表示させる為のURIの作成
http://cheesy.dip.jp/diary/archives/101 ← 参考
ちなみにcanvasには toDataURL メソッドがあるのでこれをつかえばOK.
document.getElementById('canvas').toDataURL();
その逆で data:image/png;base64, ・・・・うんたら・・・ からバイナリへ変換
「data:image/png;base64,」 この部分をまずは削除して残りの部分をatob。
atob(imagesDataURI);
https://developer.mozilla.org/en/DOM/window.atob
http://cheesy.dip.jp/diary/archives/101 ← 参考
var image_b64 = btoa(images[i]); // base64 encoding
image_b64.replace(/n/g, "");
var img = d.createElement('img');
img.src = 'data:image/jpeg;base64,' image_b64;
var div = d.createElement('div');
div.appendChild(img);
ちなみにcanvasには toDataURL メソッドがあるのでこれをつかえばOK.
document.getElementById('canvas').toDataURL();
その逆で data:image/png;base64, ・・・・うんたら・・・ からバイナリへ変換
「data:image/png;base64,」 この部分をまずは削除して残りの部分をatob。
atob(imagesDataURI);
https://developer.mozilla.org/en/DOM/window.atob
2009年7月13日月曜日
base64 encodeを改行する
var c = btoa(binary); // btoa base64 encode
var b = "";
var i = 0;
var bdata = "";
while(b = c.substr(i,76)){
if(b){
bdata = bdata + b + "\n";
}
i += 76;
}
var b = "";
var i = 0;
var bdata = "";
while(b = c.substr(i,76)){
if(b){
bdata = bdata + b + "\n";
}
i += 76;
}
登録:
投稿 (Atom)