2012年5月16日水曜日

WordPressをインストールした(ロリポップ・チカッパプラン)

自分用にメモ。簡単インストールでバージョン3.3.2を設置した後の作業。

1. インストール先は /wordpress、独自ドメインを仮にexample.comとする。


2. URLトップに表示させるため、
 i ) .htaccessをルートに作成/編集して下記のようにする (自分はWordPress経由で作成できなかったから手動編集。パーミッションが悪いのだろうが、SuExecとかじゃないんだよね、たぶん..)

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

ii ) index.phpを編集して下記のような変更を加える。

 <変更前>
 require('./wp-blog-header.php');

 <変更後>
 require('./wordpress/wp-blog-header.php');

iii ) index.php, .htaccessを/wordpressの中からルートへ移動。

3. WordPressの管理画面上から[設定] > [一般]の[一般設定]にて、

  [WordPress アドレス (URL)] http://www.example.com/wordpress
  [サイトアドレス (URL)] http://www.example.com

のようにする。要はサブフォルダにインストールしたWordPressをサブドメインwwwのトップに表示させるための設定。

.htaccessに書けない(そもそも作れない)理由は別に調べんと、か。

2012年4月9日月曜日

EVERIOで録画したMPEGファイルがDVDStylerで上手く焼けなかった件

分かるまで長い時間がかかった。結論、焼く側のビデオファイルがおかしいんだと分かった。
自分用にまとめのメモ記事を書いておく。検証はすべてWindows7上で行っている。

[素材]

DVDに焼く元素材は、
  1. EVERIO(デジタルビデオカメラ)のハードディスク上に生成された「SD_VIDEO/PRG001/***.MOV」というファイルをコピーし、
  2. 拡張子を「***.mpg」に名前変更
したもの。

[現象]

DVD作成のために「DVD Styler」というオープンソースのオーサリング(編集)ソフトを使っていた。作成自体は正常に終了するが、途中ログ上に「VOBUがどうこう」という警告がたくさん出て、出来上がったDVDは再生3秒、1分等の短い時間で止まってしまう。何枚かこのような症状が現れた。

[分析]

PC上で再生ソフト(Windows Media PlayerとかVLC等)を使って再生しても、同じように固まる。民生用の家電DVDプレーヤーを使っても結果は同じ。

インデックスがおかしいと思って、IFOEDITを使って焼いたDVDのメタ情報(VIDEO_TS.IFOとVTS_01_0.IFO)を調べる。すると、意図しない位置(およそ開始3秒ほど)でPGCが区切られていて、別チャプターになっていた。

DVD Styler経由ではそんな設定を一切行っていない。このソフトは概ね、
  1. メニュー生成をUI上で行い、
  2. DVDAuthor(とその関連ツール)でビデオとメニューをDVDの形式に構成し、
  3. 出来上がったファイル構造をDVDへ焼く
という動作を行っている。エラーは上記ステップ2、つまりDVDAuthorで発生しているのではと推測。
コマンドラインで直接DVDAuthorを使ってみることに。

[検証]

実際に録画して[素材]欄で書いたような動画ファイルを対象に、簡単な設定用XMLを記述してStyler付属のDVDAuthorを動かしてみた。すると、やはり挙動がおかしい。

<コマンド>
"C:\DVDStyler\bin\dvdauthor.exe" -o test -x test.xml
<XMLファイル中身>
<dvdauthor>
    <vmgm />
    <titleset>
        <titles>
        <video format="ntsc" />
            <pgc>
                <vob file="MOV19E.mpg" />
            </pgc>
        </titles>
    </titleset>
</dvdauthor>
<実行時の出力>
DVDAuthor::dvdauthor, version 0.7.0.
Build options: gnugetopt iconv freetype fribidi fontconfig
Send bug reports to <dvdauthor-users@lists.sourceforge.net>
INFO: default video format is PAL
INFO: Converting filenames to cp932
INFO: dvdauthor creating VTS
STAT: Picking VTS 02
STAT: Processing MOV19E.mpg...
WARN: Skipping sector, waiting for first VOBU...
WARN: Skipping sector, waiting for first VOBU...
...
(同じ文言が気違いのように繰り返される...)
...
WARN: Skipping sector, waiting for first VOBU...
WARN: Skipping sector, waiting for first VOBU...

[対処]

具体的な異常まで判断できかねるが、(おそらくインデックス情報の不備等で)動画ファイル自体がDVD作成用として不適、という判断ができた。

FFMPEGを用いて、「-format ntsc-dvd」オプションをつけて再変換を行うことで解決。
このファイルを用いると、DVDAuthorは正常にDVDのフォルダ構造を生成してくれた。
ffmpeg -i MOV19E.mpg -vol 768 -target ntsc-dvd -vcodec mpeg2video -b 5000k -acodec mp2 -ab 384k MOV19Eo.mpg

2011年11月21日月曜日

virtualenvを使ってWindows上にPython環境を構築した (2)


前回の記事で「ユーザー環境変数でパスも通しておく」と書いたにもかかわらず、設定をきちんとしていなかった。Djangoを動かそうと思って、django-admin.pyを実行すると、モジュール検索パスでdjango.coreを見付けられなかった。

C:\Users\Keiichiro>django-admin.py
Traceback (most recent call last):
  File "C:\Users\Keiichiro\Python27\Scripts\django-admin.py", line 2, in <module> from django.core import management
ImportError: No module named django.core
ただし、直接Pythonのコンソールからはインポート可能(エラーが出ない)

C:\Users\Keiichiro>python
Python 2.7.2 (default, Jun 12 2011, 15:08:59) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import django
>>>

現状、下記のフォルダには環境変数Pathを追加している。だから、Scriptsフォルダにあるdjango-admin.pyは絶対パスでなくとも実行可能。
%HOMEDRIVE%%HOMEPATH%\Python27;
%HOMEDRIVE%%HOMEPATH%\Python27\Scripts 
Pythonは下記の2箇所に入っている。上は公式サイトからのWindowsバイナリ、下はvirtualenvで追加したもの。
C:\Python27
C:\Users\Keiichiro\Python27
結果として、下記のPYTHONHOMEを追加することでモジュール検索パスの問題は解決。ちなみにvirtualenvでは環境変数の切り替えとかもサポートしているのだろうか。


1. 環境変数PYTHONHOMEを追加。# PYTHONPATHではなく。


PYTHONHOME=%HOMEDRIVE%%HOMEPATH%\Python27\Scripts
しかし、うまくいかない。今度はsiteモジュールが見つからない、と。virtualenvのお作法に従っていないのが問題か。

C:\Users\Keiichiro>django-admin.py
ImportError: No module named site
virtualenvのほうのScriptsフォルダにactivate-this.batなるバッチファイルを見付けた。こいつを使う模様。中身はこんな感じ。

@echo off
set VIRTUAL_ENV=C:\Users\Keiichiro\Python27
if not defined PROMPT (
    set PROMPT=$P$G
)
if defined _OLD_VIRTUAL_PROMPT (
    set PROMPT=%_OLD_VIRTUAL_PROMPT%
)
if defined _OLD_VIRTUAL_PYTHONHOME (
     set PYTHONHOME=%_OLD_VIRTUAL_PYTHONHOME%
)
set _OLD_VIRTUAL_PROMPT=%PROMPT%
set PROMPT=(Python27) %PROMPT%
if defined PYTHONHOME (
     set _OLD_VIRTUAL_PYTHONHOME=%PYTHONHOME%
     set PYTHONHOME=
)
if defined _OLD_VIRTUAL_PATH set PATH=%_OLD_VIRTUAL_PATH%; goto SKIPPATH
set _OLD_VIRTUAL_PATH=%PATH%
:SKIPPATH
set PATH=%VIRTUAL_ENV%\Scripts;%PATH%
:END
実行。プロンプトの文字列に(Python27)が追加されている。が、作法に従っていないせいか、OLD_VIRTUAL_* の環境変数が設定されておらず、条件分岐の中のsetを通らない。
C:\Users\Keiichiro>activate.bat
(Python27) C:\Users\Keiichiro>django-admin.py
Traceback (most recent call last):
  File "C:\Users\Keiichiro\Python27\Scripts\django-admin.py", line 2, in <module
>
    from django.core import management
ImportError: No module named django.core
スクリプトをよく見ると、21行目でPYTHONHOMEをわざわざ空にしていた。ここにVIRTUAL_ENVを追加するよう変更。しかしなぜ空にする?VIRTUAL_ENVの値を追加するだけで便利になるのに。PYTHONHOMEって必要ない値なのか。(そのおかげで自分は難儀したが)
if defined PYTHONHOME (
     set _OLD_VIRTUAL_PYTHONHOME=%PYTHONHOME%
     set PYTHONHOME=%VIRTUAL_ENV%
)
本家ドキュメントで環境変数のこと、もっときちんと勉強しないといけないかな。 


2011年11月10日木曜日

virtualenvを使ってWindows上にPython環境を構築した

今時のPython環境構築方法が分からなかったけど、下記URLの情報をもとにやってみる。

1. virtualenvのダウンロード: ここから最新版を持ってくる。

2. 展開したフォルダ内のvirtualenv.pyを実行(コマンドプロンプト上)
> python virtualenv.py %HOMEDRIVE%%HOMEPATH%\Python27

3. 指定したフォルダにPythonの環境がセッティングされる。
4. 同フォルダにユーザー環境変数でパスも通しておく。

以上。