Search Regexのエラーとログインエラー

投稿日: カテゴリー: WordPress

WordPressのルートディレクトリ直下への変更は順調に終わったと思ったが、その後しばらくしてWordpressより「WordPress がプラグイン Search Regex でエラーを捉えました。」とメールが届く。取り敢えずWordpressにログインしようとすると、今度は「Cookiesがブロックされているか、…Cookieを有効化する必要があります」というエラーが出た。

変更直後まではログインもできていたし、怪しい挙動もなかったので焦ったが、結論から言うと、Search Regexでエラーとログインエラーは別々の問題だった。

まずはプラグインのSearch Regexから対応。少し調べてみると、Search Regexは3年くらいアップデートもないプラグインで、今回のような「エラータイプ E_ERROR が…/wp-content/plugins/search-regex/view/results.php ファイルの 26 行目で発生しました。」というエラーが発生することがあるらしい。対応としてはSearch Regexのviewフォルダ下のresult.phpの26行目を<?php /*?>と<?php */?>で挟んでコメントアウトすること。念のため、このプラグインは今後使う予定もないので停止した。

次にログインエラーについて。正しく解釈出来ているか怪しいが、SSL化した後など、サイトのURLが変更になった場合などに、このようなエラーが発生することがあるらしい。まずは指示通りCookieを有効化?することだが、結局何が必要だったか分からないのでやったことを列挙する

  • 閲覧履歴、Cookie、キャッシュの全削除
  • ログイン情報とパスワードが保存されていたので削除
  • Cookieデータの保存と読み取りを許可するを一旦「ブロック」して再度「許可」する

以上を何回か繰り返し試したが、効果なし。大分悩んだが、ログイン画面のURLがhttps://aaa.bbb.com/wp-login.phpになっていたので、今回変更したサイトアドレスに合わせてURLをhttps://www.aaa.bbb.com/wp-longin.phpにしたらログイン出来た。

当たり前なのかもしれないが、WordPressで設定したURLを、httpかhttpsか、wwwの有無など、ログイン画面のURLにも忠実に反映させることが肝要だったようだ。結局Cookieの削除等の作業が必要だったか分からなかったが、エラー出た場合の対処としては、まずログイン画面URLの確認して、問題無いようならCookieの削除(有効化?)してみるのが良さそう。

WordPressインストールの場所をルートディレクトリ直下に変更

投稿日: カテゴリー: WordPress

久しぶりにブログを更新するにあたり、古くなったテーマの変更やSSL対応をしようとして、変更作業中に色々と躓くことが多かった。その中でも、「Wordpressアドレス」と「サイトアドレス」が異なることで生じる不具合で色々面倒くさいことになっていた。

気が付かないだけで他にもあるかもしれないが、悩んでる問題は、

  • テーマのカスタマイズで「Non-existent changeset UUID」とエラーが出てプレビューが表示されない
  • 特定のプラグインで「.htaccessの書き込み権限がありません」と表示され実行できない
  • ページの公開状態を「パスワード保護」にしたとき、パスワードを入力してもページ閲覧出来ない場合がある

上2つは不便だけど一時的にサイトアドレスを同じに変更して対応できるが、3つ目は特定の第三者に閲覧してもらうためのページで、その場しのぎもできない。それほど事例が多いわけでもなかったので個別対応していた。

丁度いい機会だったのにWordpressをルートディレクトリ直下にインストールし、Wordpressとサイトアドレスを同じにして、問題解決することにした。

WordPressアドレス http://aaa.bbb.com/wp1

サイトアドレス http://www.aaa.bbb.com

これ↑ を ↓となるようにする

WordPressアドレス、サイトアドレス https://www.aaa.bbb.com

ついでにssl対応したのでhttpsになっている。ちなみに、wwwの有り無しの違いだけでも不具合出るので、Wordpressアドレスとサイトアドレスのurlは完全に一致させる必要がある。

以下手順。詳細は詳しいサイトが多くあるので、ここでは今回行った作業を列挙する。

  1. ftpにてサブディレクトリにインストールされたWordpressのファイルをすべてバックアップする。ついでにルートディレクトリ直下にある.htaccessとindex.phpもバックアップ。
  2. .htaccessとindex.phpはルートディレクトリ直下とサブディレクトリのどちらを使うかは、それまでの個々のカスタマイズで変わってくると思うが、サブディレクトリの記述がある方のファイルを使う時は修正が必要。.htaccessなら「RewriteRule . /wp1/index.php [L]」の「/wp1」削除して「RewriteRule . /index.php [L]」と修正。index.phpは「require(‘./wp1/wp-blog-header.php’);」の「/wp1」を削除して「require(‘./wp-blog-header.php’);」と修正する必要がある。
  3. ftpにてサブディレクトリをまるごと削除、バックアップしたWordpressのファイルと修正済み.htaccessとindex.phpをルートディレクトリ直下にコピー。
  4. WordPressにログイン出来なくなったので、データベースMySQLにログインして、wp_options内のoption_name:siteurlがoption_value:http://aaa.bbb.com/wp1となっているので、「https://www.aaa.bbb.com」に編集修正。
  5. ログイン出来るようになったので、Wordpressにログインする。ログイン画面urlが「http://aaa.bbb.com/wp1/wp-login.php」から「https://www.aaa.bbb.com/wp-login.php」とサブディレクトリの/wp1がなくなるので注意。
  6. 念のため、「設定」-「パーマリンク設定」で特に変更しなくても「変更を保存」する。
  7. WordPressアドレスが変更されたことにより、サイト内のアップロード画像等が表示されなくなってたりするため、サイト内urlを一括変更する。使用したプラグインは「Search Regex」。変更は固定ページと投稿ページだけで充分なので、置換範囲は「Post content」。置換内容は短すぎると余計なものまで変更されてしまうかもしれないので、「http://aaa.bbb.com/wp1」から「https://www.aaa.bbb.com」とした。一括置換はやはり怖いので、「Replace」で置換結果を確認してから「Replace&Save」で一括置換して保存。

以上で作業完了だが、4はファイル削除前にWordpressの設定からWordpressアドレスを修正後のurlに変更しておけば必要なかったかも。

ドメイン直下にWordpressをインストールすることは、デメリットもあるようなのだが、自分の利用スタイルでは特に問題ないと判断した。まあ、自力で解決できる熟練者だったらディレクトリ変更以外のやり方もあったかもしれないが、Wordpress初級者の自分には今回の変更で十分すっきりした。

TSをMP4にエンコード その3 設定

投稿日: カテゴリー: PC

主にAviutlの設定まとめ。PCで見るための設定。

・クリッピング&リサイズの設定
アナログ放送時代の再放送などで両端に余白ができる場合に使用する
1440×1080で録画された場合、
左180 右180
に設定して余白部分をカットできる

・透過性ロゴ
ロゴ解析でロゴを取り込むことで、ロゴを消せる
ロゴが出たり消えたりする場合もフェードを使うと綺麗に消せるが、
労力に見合わないので自分はフェード機能は使わない

・サイズの変更
システムの設定の「リサイズ設定の解像度リスト」に登録しておくと
リスト表示されるので楽
ts1
各解像度ごとの設定。緑の塗りつぶしがお勧め。
解像度は色々試してみたが、ファイルサイズと汎用性のバランスがいい
1280×720に落ち着いた。

・フレームレートの変更
なし
・インターレースの解除
自動
変更すると色々面倒くさい。上級者以外は変更しないほうがいい

・x264設定
現在の設定
エンコード時間やファイルサイズは、マルチパスと品質の設定で大きく変わる。
最初はプロファイルから好みの設定を選んで、状況に応じてマルチパスと品質を
変えてみるといいと思う。
set1

基本的にはデフォルトであるプロファイルの高画質設定から変更していない
最初、自動マルチパス(パス数2)に設定していたが、やたら時間がかかりすぎるので
やめてシングルパス(可変レート)にした。可変なので動きの激しい時は高レートに、
動きの無いときは低レートに自動的に変わる。品質20に設定にしているが、
21や22くらいのほうがいいかもしれない。
音声を320kbpsにしているが、128kbpsでいいと思う

set2
最初は変更しないでいい

set3
最初は変更しないでいい

結局設定は環境、用途によって人それぞれ。
最初はデフォルトの設定にして、
少しずつ自分にあった設定に変更していくのが現実的だと思う。

TSをMP4にエンコード その2 手順

投稿日: カテゴリー: PC

それなりに色々試して、それなりに自分なりのやり方が決まったので、
忘れないように纏める

手順は以下の2通りで、ほぼ問題なくエンコードできた。

手順A・・通常はこちらで問題ない
使用アプリ BonTsDemux、ToWave、aviutl
1.BonTsDemuxでTSをW2Vファイルとaacファイルに分離
2.ToWaveでaacをDelay修正wavに変換
3.aviutlでw2vとwavを読み込んで、編集してエンコード

それぞれのアプリの詳細な手順は割愛

 

手順B・・5.1chでエンコードする場合、手順1でうまくいかない場合
使用アプリ BonTsDemux、aviutl、TsSplitter、Yamb、Avidemux
(1.TsSplliterで5.1ch部分を分割)
2.BonTsDemuxでm2vとaacに分離
3.aviutlでm2vのみをMP4にエンコード
(解像度などの変更のみ。CMカットのような動画時間が変わる編集はしない)
4.YambでMP4とaacを合成
5.Avidemuxで音声Delay補正とCMカットなどの編集をして保存

5.1ch対応する場合はBonTsDemuxで分離時に音声出力方式を[強制5.1ch]を選択
それ以外はStereo
5.1ch放送だが5.1ch必要ない場合は、Stereo選択して手順Aでもいい
前番組、後番組が5.1ch放送で少しでも録画されていると、
ToWaveの変換で失敗することがあるので、
TsSplitterを使って音声5.1ch部分を分割する

Tssplliterのパラメータは
-SEPAC(音声チャンネル切替で分割、個々に出力)
を使い、音声5.1ch部分だけを抜き出す
CMまたぎなどで2つ3つに分割される場合でもTssplliterで合成しない
合成すると、合成した後半部分のDelay補正ができなくなるので、
個別に上記5までのMP4エンコードとDelay補正を行い、
個別に作成したMP4を最後にaviutlで合成する

AvidemuxのDelay補正はBonTsdemuxで分離したaacファイル名のdelay値を
そのまま入力すればよい

 

・その他
BonTsdemuxで分離したあとのaacファイル名のDelay値が8桁くらいになることがある
その場合にMurdocCutでTSの先頭部分を少しカットすると修正できる

手順Aでうまくいかない場合は大抵Towaveのwav変換で失敗しているので、
動画のみをMP4にしてからaacと合成する手順Bにすると回避できる

ファイル名にコンマなどの記号があるとToWaveの変換で失敗することがある

TSのDropが多くて音ズレが修正できないときはあきらめる

時間かかるし、多少は劣化もするのでエンコードは1回のみが妥当

 

手順Aは結構あちらこちらで紹介されていて、手間があまりかからないが、
音ズレが修正できないことも多々ある

手順Bは5.1chにも利用できるし、大抵の音ズレの問題は回避できると思う
ただ、手順Aより手間がかかるのと、AvidemuxはGOP単位の編集になるので、
aviutlよりは大雑把な編集になる

TSをMP4にエンコード その1 アプリを用意

投稿日: カテゴリー: PC

PT3導入から2ヶ月ほどたち、ある程度のエンコード方法も固まってきたので忘れないように纏めてみる。
まずは使用アプリから。
すべてフリーソフトで、編集作業もすべて手動。基本的にmp4エンコードはaviutlで行う。

・aviult v1.00 ・・・MP4にエンコードする
MPEG-2 VIDEO VFAPI Plug-In v0.78 ・・・m2vファイルをaviutlに読み込みさせるために必要
x264guiEx v2.21 ・・・MP4エンコードに必要
透過性ロゴ フィルタv0.13 ・・・番組ロゴ消去する
L-SMASH Works r717 ・・・いろいろなファイルをaviutlに対応させる

・BonTsDemux 10k7fix05
tsファイルを動画(m2v)と音声(aac)に分離するソフト。現状、このソフトだけで十分

・ToWave v1.03
・VLC v2.1.5
BonTsDemuxで分離したaacのDelay補正を行う

・Yamb v2.1.0.0(MP4BOX v0.6.0.6)
MP4とaacを結合する

・Avidemux v2.6
MP4のIフレーム単位で編集や音Delay補正を行う

・Murdoc Cutter v1.9g1
GOP単位でtsの簡単な編集をする

・TsSplitter v1.26
tsの分割をする

Aviutlプラグインやコーデックの記載漏れや古いVersion使っていたりするかも。
通常のエンコードであれば、aviutl、BonTsDemux、Towaveのみ使用。
ただ、5.1ch対応やその他イレギュラーな場合に備えて、Yamb、Avidemux、MurdocCut、TsSplitterも用意しておく。

前回記載したDG Indexは
・m2vをAviutlに直接読み込めるのでd2vにする必要は無い(BonTsDemuxだけで十分事足りる)
・DG IndexはAACで分離できないときがある
・d2vをAviutlに読み込ませるときにフレーム高を1080から1088に変更する必要があるため、余計なリサイズが必要になり面倒くさい
といった理由で利用をやめた。

関係ないが、先月エンコード時間削減のため、CPUをi5からi7-4790Kに換えたところ、体感で4割くらい時間が削減された。
HTの利用価値はこれだったかと、初めて実感。