クイック起動のショートカット

Vistaではデフォルトで、以下のショートカットがクイック起動に登録されていますが、
ショートカットで代用可能です。

デスクトップの表示:WindowsKey+d
ウインドウを切り替える:WindowsKey+Tab

テーマ : Windows 全般
ジャンル : コンピュータ

2009-01-29 : Work-Win-Env : コメント : 0 : トラックバック : 0
Pagetop

最小マッチング(minimal matching)

正規表現はデフォルトでは最大マッチングで動作しますが、?をつけると最小マッチングになります。


#!/usr/bin/perl

$str = "+---+---+";

$str =~ m/(\+.*\+)/;
print "$1\n";

$str =~ m/(\+.*?\+)/;
print "$1\n";



出力
+---+---+
+---+

テーマ : プログラミング
ジャンル : コンピュータ

2009-01-28 : Work-Linux-Perl : コメント : 0 : トラックバック : 0
Pagetop

promptはこう設定しよう

tcsh用で、ポイントは2点。

・%のついた特殊文字。
・エスケープシーケンスを利用する事で色をつける事が可能。

■ 特殊文字
%n … 自分のアカウント名
%m … マシン名
%c … カレントディレクトリの最後のディレクトリ名

■ 色
エスケープシーケンスは%{%}で囲む
\33[属性;文字の色m

■ 例
set prompt = "%{\33[01;34m%}%n@%m %c:%%%{\33[01;00m%} "
2009-01-27 : Work-Linux-Env : コメント : 0 : トラックバック : 0
Pagetop

デーモン等のバックグラウンドプロセスを表示するpsオプション

通常のpsではバックグラウンドで動作するプロセスは表示されませんが、"ps -ax"ならデーモンなども見えます。

Linuxだけでなく、SunOS等でも使用可能です。

テーマ : UNIX/Linux
ジャンル : コンピュータ

2009-01-25 : Work-Linux-Command/Editor : コメント : 0 : トラックバック : 0
Pagetop

パルスの非同期乗り換え対策としてサンプリング定理を把握しておこう

非同期対策としてはグリッチ対策としてのFF出しFF受け、メタステーブル対策としてのダブルシンクロナイザーは割と有名ですが、パルスの非同期乗り換え時の信号消失対策としてのサンプリング定理は、現場ではあまり一般的になっていないと感じます。

サンプリング定理というのは、非同期乗り換えでパルスをリタイミングする際に、信号の受け側のクロック周波数を、信号の出し側の値が変化する周期の2倍以上にするというものです。

なぜなら、例えば同周波数の非同期乗り換え時には周期の関係によってセットアップとホールドが確保できないためですが、経験上受け側の2倍の余裕があれば、リタイミングが可能というものです。

式としてはこうなります。


fs ≧ 2 fin


以下のように、例えば1回目のリタイミングがセットアップ不足でリタイミングできなくても、2回目で必ずリタイミングが可能になります。


┌┐┌┐┌┐┌┐┌┐
─┘└┘└┘└┘└┘└

┌───┐
──┘ └────


またこれらの応用になりますが、非同期乗り換えを行った後の信号の長さは一定にはなりません。

例えば信号出し側である一定の周期で値が変わる信号を生成しても、受け側では周期の関係によって一定の周期では受け取れないので、信号の長さも一定にならないという事です。

もちろん同じ信号を別々のFFで受けると、それぞれのFF間の遅延が異なるので、同じ論理で受けても値が変化するタイミングは異なってしまいます。

参照:
http://www.el.gunma-u.ac.jp/~kobaweb/lecture/koba20071011rev.pdf
2009-01-18 : Work-Product-Design : コメント : 0 : トラックバック : 0
Pagetop

WindowsMediaPlayerでflvやmp4を再生

以下のサイトを参考にさせて頂きました。
http://www.area61.com/flvsplitter.html

■ FLVSplitter
以下のサイトからファイルをダウンロード。
http://www.rarewares.org/files/others/VP62.zip

ファイルをProgram Files等に入れてbatファイルを実行します。

■ Haali Media Splitter
以下のサイトからファイルをダウンロード。
http://haali.cs.msu.ru/mkv/MatroskaSplitter.exe

Enable MPEG-TS supportを無効にしておきます。

■ ffdshow-tryout
以下のサイトからファイルをダウンロード。
http://sourceforge.net/project/showfiles.php?group_id=173941

インストールする際にはコーデックをすべて無効にしておきます。
また、「互換性のあるアプリケーション」は「制限しない」を選んでおきます。

「ビデオデコーダの設定」を実行し、「FLV1」、「VP6F」、「Other MPEG 4」、「H.264/AVC」のデコーダ項目をlibavcodecにします。

続きを読む

テーマ : Windows 全般
ジャンル : コンピュータ

2009-01-04 : Work-Win-Env : コメント : 0 : トラックバック : 0
Pagetop

ffmpegの画像重視エンコードラッパー

ffmpegを利用した、PS3でも再生可能なH.264/AACのエンコードオプション付きラッパーです。

変換したいファイルを引数で渡すと、mp4ファイルが作成されます。最初に動画の画素数を取得して、bitレートを変更します。


#!/usr/bin/perl

use Getopt::Std;
use File::Basename;

%opts = ();
getopts ("htvsacn", \%opts);

if ($opts{"h"}) {
print "ffmpeg.pl [option] movie_file\n";
print "-h help\n";
print "-t test\n";
print "-v video encode only\n";
print "-s 4:3->16:9\n";
print "-a audio encode only\n";
print "-c aac out\n";
print "-n analog\n";
}

foreach (@ARGV) {
print "-------------------------------------------------------------------------------------\n";

# 引数取得
$srcfile = $_;

# 出力ファイル名生成
$regex_suffix = qw/\.[^\.]+$/;
($name, $path, $suffix) = fileparse($srcfile, $regex_suffix);
$tgtfile = $name . ".mp4";
printf("srcfile=$srcfile\n");
printf("tgtfile=$tgtfile\n");

# 画像サイズ取得
@tmp = `ffmpeg -i "$srcfile" 2>&1`;
$srcsize = "";
foreach (@tmp) {
chomp;
# print "$_\n";
if (/Stream.*Video.* (\d+x\d+)/) { $srcsize = $1; }
}

# アスペクト比、ビットレート算出
@tmp = split(/x/, $srcsize);

if ($opts{"s"}) {
$tmp[1] = int ($tmp[1] / 9);
$tmp[0] = $tmp[1] * 16;
$tmp[1] = $tmp[1] * 9;
$srcsize = "$tmp[0]x$tmp[1]";
}

$bitrate = ((int $tmp[0])*(int $tmp[1])/200);
printf("srcsize=$srcsize\n");
printf("bitrate=$bitrate\n");
if ($srcsize eq "") { exit; }

# オーディオチャンネル数
$ac = "2";
if ($opts{"n"}) {
$ac = "1";
}

# メインオプション
$mopt = "-y
-f mp4
-threads 2 ";

# ビデオオプション
$vopt = "-vcodec libx264
-flags loop+bitexact
-flags2 mixed_refs
-trellis 2
-g 300
-keyint_min 25
-sc_threshold 40
-subq 7
-partitions parti4x4+parti8x8+partp4x4+partp8x8+partb8x8
-me_method esa
-me_range 21
-cmp chroma
-refs 6
-deblockbeta 0
-deblockalpha 0
-bufsize 10000k
-maxrate 10000k
-qcomp 0.6
-qmin 21
-qmax 51
-qdiff 4
-deinterlace
-level 42
-coder 1
-r 30000/1001
-s ${srcsize}
-b ${bitrate}k
-bt ${bitrate}k ";
if ($opts{"a"}) { $vopt = "-vcodec copy "; }
if ($opts{"c"}) { $vopt = "-vn "; }

# オーディオオプション
$aopt = "-acodec libfaac
-ac $ac
-ar 48000
-ab 128k ";
if ($opts{"v"}) { $aopt = "-acodec copy "; }

# 全オプション
$option = "$mopt$vopt$aopt";
$option =~ s/\n/ /g;
$option =~ s/ +/ /g;

# プログラム実行
if ($srcfile ne $tgtfile) {
print "ffmpeg -i \"$srcfile\" $option \"$tgtfile\"\n";
if (!$opts{"t"}) { system "ffmpeg -i \"$srcfile\" $option \"$tgtfile\""; }
}
}

テーマ : Linux
ジャンル : コンピュータ

2009-01-03 : Work-Linux-Perl : コメント : 0 : トラックバック : 0
Pagetop

ffmpegのインストール

Linuxでffmpegをインストールする方法をまとめます。

以下のサイトを参照させて頂きました。
http://blog.k-tai-douga.com/article/24772879.html

作成するフォーマットによってはいろいろソフトを入れる必要がありますが、自分はH.264とAACだけでいいので、x264とfaacのみ組み込みます。

■ x264
とりあえず以下のツールを用意します。

$ yum install nasm yasm


以下のサイトから最新のファイルを落としてきます。
ftp://ftp.videolan.org/pub/videolan/x264/snapshots/

コンパイル、インストール。

$ ./configure
$ make
$ make install


■ faac
以下のサイトから最新のファイルを落としてきます。
http://sourceforge.net/projects/faac/

コンパイル、インストール。

$ ./bootstrap
$ ./configure
$ make
$ make install


■ ffmpeg
とりあえず以下のツールを用意します。

$ yum install zlib


svnで最新のファイルをダウンロードします。

$ svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg

# rev16729まで確認

コンパイル、インストール。

./configure --enable-memalign-hack
--enable-postproc
--enable-swscale
--enable-gpl
--enable-libx264
--enable-libfaac
--disable-ffserver
--disable-ffplay
--enable-small
--enable-pthreads
--extra-ldflags=-static
--extra-cflags="-mtune=core2 -mfpmath=sse -msse"
make
make install

テーマ : Linux
ジャンル : コンピュータ

2009-01-03 : Work-Linux-Env : コメント : 0 : トラックバック : 0
Pagetop
ホーム

プロフィール

Author:zive
大阪在住、男

ブログ検索

月別アーカイブ

FC2カウンター