このページでは http://jr0bak.homelinux.net/~imai/pukiwiki/pukiwiki.php?%C6%FC%B5%AD%2F2010-07-10%2FTS%A2%AAPS%CA%D1%B4%B9%A5%DE%A5%B7%A5%F3のキャッシュを表示しています。
キャッシュとは、提携する検索エンジンが、検索結果表示用の索引を作る際に各ページの内容を保存したものです。
→ キャッシュとは?
元のページは変更されている可能性があります。現在のページ内容はこちらから確認できます。
※HTMLバージョンとして表示する際、レイアウトが崩れたり、文字が読めなくなる場合があります。ご了承ください。
Yahoo! JAPANはページ内のコンテンツとの関連はありません。
以前の日記にも書いたように,録画後の TS ファイルを PS ファイルに変換するのに Linux マシンを利用している. が,変換中は Linux マシンの負荷が高くなり,他の作業ができる状態では無い. というわけで,変換用の Linux マシンをエンコードマシン上の VMware player で実現することにする.
言わずと知れた仮想マシン実行環境.
http://www.vmware.com/jp/ からインストーラをダウンロードし,インストールする.
http://www.debian.org/CD/netinst/ からネットワークインストール用 CD の ISO ファイルをダウンロード. ISO イメージは実 CD-ROM に焼く必要は無い.
VMware player を起動し,仮想マシンを作成し,debian をインストールする. このとき,仮想 CD-ROM ドライブにダウンロードした ISO イメージを指定する.
なお,VMware 上の仮想ネットワーク設定は「ブリッジ」とする.
インストールが終わったら /etc/apt/sources.list を書き換える.
aptitude を起動し,パッケージをアップグレードする.
以下のパッケージをインストール
hosts 行を
hosts: files dns wins
と書き換えると,名前解決で Windows コンピュータ名を利用できるようになる.
こんな感じ. root 権限で実行する. 録画マシンから TS ファイルを読み込み,TS→PS 変換を行い,エンコードマシンに吐き出す. 入出力にはパイプラインを使っているので,仮想マシン上のストレージは不要.
最初,smbfs で Windows マシンの共有を mount して実行していたが,あまりにも速度が遅いので,smbclient によるアクセスに変更した.
#!/usr/bin/perl # # ts2ps: convert from MPEG-2 TS to MPEG-2 PS # $srcdir = '/media/m2ts'; # M2TS 共有を一時的に mount # するディレクトリ $srcshare = '//jr0bak-rec/m2ts'; # 変換元共有 $destshare = '//jr0bak-xp/mpegconv'; # 変換先共有 # get filenames `smbmount '$srcshare' '$srcdir' -o guest`; $? and die; @files= grep { s/\n$//g } `ls -tr1 $srcdir/*.m2ts`; `umount '$srcdir'`; $? and die; foreach $s ( @files ) { ( $sb = $s ) =~ s|.*/||g; ( $db = $sb ) =~ s/m2ts$/mpg/; print "$sb -> $db\n"; `smbclient $srcshare -U guest% -c 'get "$sb" -' | \ ffmpeg -i - -f dvd -vcodec copy -acodec copy - 2>/dev/null | \ smbclient $destshare -U guest% -c 'put - "$db"'`; ( $? != 0 ) and exit 1; } exit 0;