DVD の動画を YouTube にアップする

DVDの動画をネット公開することになった。YouTubeを利用して、YouTubeと管理サイトの両方で公開する予定。
.VOBの動画ファイルを扱えるWindowsかmacで使える動画変換ソフトを探して、いろいろ試してみたが、どれもなかなかうまくいかなくて時間もかなり費やして、ほとほと苦労した。

最終的にうまくいった方法

  1. DVDデータをムービーコンバーター用ソフト「BatchDOO!」 を使って1つのVOBファイルに変換する。
    劣化を避けるため変換時の設定は、「おまかせ設定:手動」で動画設定、音声設定を「自動(オリジナルを維持)」にする。
  2. カット編集ソフト「Chopper XP」を使ってVOBファイルを適切な箇所で分割、出力する。
    直接DVDデータを変換しようとしても最初の10秒程度しか読み込まなかったので、1の手順が必要。
  3. YouTubeにアップロードする。

この方法が最善なのかは、動画関係に詳しくないのでわからないが、いろいろ試した中では一番動画のクオリティがよかったので記録しておく。

  1. BatchDOO! ムービーコンバーター用フリーソフト
    あらゆるフォーマットの動画ファイルを相互変換したり、まとめて一括変換することができる。目的の動画に最適なコンバート/エンコード設定にて動画を変換、作成することができる優れもの。
  2. Chopper XP
    MPEG2 形式の動画ファイル(DVD / VOB / mpg / m2p)を、カット編集するソフト。
    MPEG2 をAVI などに再圧縮せずに、そのままMPEG2 として出力することができるので、データの劣化が生じない。

メモ

  • 推奨: 1290×720 (16:9 HD) および 640×480 (4:3 SD)
  • サイズが 1 GB までで、長さが 10 分までの動画をアップロードできる。10分を超えた動画もアップロードはできるが、規約違反となり削除される。
  • Youtubeの動画のアドレスの末尾に「&fmt=18」を付けると高画質(高音質)になる。
  • 動画のサムネイルは投稿者が自分で選ぶのではなく、YouTubeが任意の3種をピックアップした中から選ぶ。
  • YouTubeは日々機能がアップしていて、以前はできなかったことが、今ではできるようになっている場合があるので、要チェック。
  • 動画のアップロードを最適化する
  • ブランド チャンネルの作成

CPIでWordPress

クライアントのCPIサーバーにWordPressをインストールする。たしかここは、PHPに対する扱いが面倒だったような気がしたので、.htaccessファイルが自動で追加されるのを期待して、コントロールパネルからインストールしてみる。インストール自体はうまくいったが随分と古いバージョンだったので、上書きで2.7Jをインストール。すると、文字化け。軽くググってみたら、CPIでWordPressをやるのは結構厄介?

あと、utf-8にしたphpMyAdminでテーブルを削除できないのだが、ja-eucに変更してからだと削除できる。

ここを参考にphp.iniを作成する。コントロールパネルの【お客様情報】から、【プログラムのパスとサーバの情報】の下の方にある使用するPHPと同じバージョンのphp.ini情報をコピーして、下記の記述を修正する。

mbstring.internal_encoding = utf-8
mbstring.encoding_translation = Off
mbstring.http_input = auto
mbstring.detect_order = auto

ァイル名を【php.ini】として保存して任意のディレクトリにアップロードする。(secureなディレクトリが良)

次に、php.iniの設定を反映させるため、php.ini の設置場所を指定した一行を記載した.htaccessを作成する。これにより、下位ディレクトリ全体にPHPの独自設定を反映させる。

suPHP_ConfigPath /usr/home/(ユーザーID)/secure/(ディレクトリ)/

これで、utf-8のPHPが指定したディレクトリで動くようになり、wordpressの文字化けも解消した。phpMyAdmin が ja-euc のままだったが、文字化けにならず、念のため utf-8 にした後も問題なく動作した。

カテゴリー表示のカスタマイズ

WordPressのデフォルトでは、カテゴリーメニューをクリックすると、そのカテゴリーの記事がズラっと表示され、一定数を超えると複数ページになる。これだと、必要な記事も探しづらいので、カテゴリー内のメニューを作ることにする。

まず、プラグインの Custom posts per page (現在は配布していないようです。追記:09.12.26) をインストールする。このプラグインは、1ページに表示される投稿数を[‘home’][‘day’][‘month’][‘search’][‘year’] [‘author’][‘category’]など項目別に指定することができる。これを用いて、カテゴリーメニューを、1ページで全部表示するように設定する。

次に、category.php(または archive.php など)をカスタマイズする。テーマによっては、category.phpが存在しない場合は、index.php などをベースにして、新しくcategory.phpを作成すれば、カテゴリーをクリックしたときに表示するページになる。

カテゴリーを選ぶと、以下の順番でテンプレートを読み込んでいくので、個別に指定をすれば、カテゴリーの中でも表示を異なったものにすることができる。

  1. category-x.php (← “x” 部分はカテゴリ ID)
  2. category.php
  3. archive.php
  4. index.php

今回は、category.phpを新規に作成する。ループ内にタイトルと日付をリストで表示させた。

<ul>
<li>
<a href=”<?php the_permalink() ?>” rel=”bookmark” title=”Permanent Link to <?php the_title(); ?>”><?php the_title(); ?></a>
<br /><?php the_date(”); ?>
</li>
</ul>

サーバー移転の手順

XREA Plusの場合

  1. 新サーバーに「web.level-k.jp」のディレクトリを作成する。これは、DNSの割当てがまだ旧サーバーに向いているためで、手動で行う。
  2. 「web.level-k.jp」内にWordPressデータをアップロードする。
  3. 現在使用しているテーマとプラグインも追加でアップ。空の.htaccessファイルもアップしておく(パーミッションは「666」)。
  4. 新サーバー用のwp-configファイルを作成しアップする。
  5. 新サーバーのWordPressにIPアドレスでアクセスする。URLをindex.phpまで含めないと認識しなかった。
  6. 旧サーバーのWordPressからエクスポートしたWXRファイルを新サーバーにインポートする。
    ダッシュボードにログインし、「管理>インポート」で、エラーが発生しました。アップロードしたファイルを…に移動できませんでした。というメッセージが出た。
    このエラーはパーミッションの問題かと思い、変更すると、次の画面「投稿者の割り当て」に進めた。ここでは、インポートした投稿や下書きの編集/保存を簡単にするために投稿者名を変更することができるようだ。添付ファイルののインポートはないので、チェッックしない状態で、「実行」。「実行」ボタンを押してから結構時間がかかった挙句にうまくいかない…
    が、何度か試したところ、インポートできたようだ。何度もボタンを押したせいだと思うが、サブカテゴリーが重複しまくっていた。手動で削除。サイドメニューとお問い合わせフォーム、パーマリンク設定もなぜか反映しなくて、面倒だから手動で再作成した。
    後記:他の問題解決の際に気がついたが、これは適切な場所にアップロードができなかったからかもしれない。「設定>その他の設定>アップロードするファイルの保存場所」が「wp-content/uploads」になっているか確認すること。また、「uploads」フォルダは最初から入っているが、これを削除してから、同じものを作成しパーミッションを適切に割り当てる。

画像のアップロード

む、画像がアップロードできない!
調べてみると、XREAのPHPはSAFE MODEで動いているということがわかった。

このサイトを参考に、.htaccessファイルを追加したが、それでもアップロードできない。サーバー内を覗いてみて分かったのだが、本来格納されるべきuploadsフォルダではなく、一つ上の階層にアップロードされていた。
これは…もしかしたらインポートがうまくいかなかったのと同じ問題なのではなかろうか?
というのも、画像がアップロードされてしまった場所に、インポートのファイルらしきものもあったからだ。

設定を見直してみることにする。
すると、「設定>その他の設定>アップロードするファイルの保存場所」が「wp-content」になっていたので、「wp-content/uploads」に変更した。これで解決だと思ったのだが、やはりアップロードできない。前とは違って、uploadできないというエラーメッセージが出るのだ。パーミッションも問題ないのに。そこで、元々入っている「uploads」フォルダを削除し、自分で同じファイル名でフォルダを作り、パーミッションを設定してみた。

すると! 無事アップロードが出来たのだ。なぜこの作業で出来るようになるのかはサッパリ分からないが、とりあえず問題は解決。