wordpressでps4の録画データをuploadできるようにする

スポンサーリンク

wordpressで、ps4の録画データが「セキュリティの観点から…」と、upload出来ずに数時間戸惑っていました。ようやく解決したので、その解決方法をメモします。

明けましておめでとうございます

2019年ですね。どうでもいいですね。本題に入ります。

趣味でゲームをたしなんでいて、周りに話す人も少ないのでブログをはじめてみたんです。
そうしたら、
ps4で録画したmp4のデータがuploadできない
という問題に直面しました。

なんでや。と思ったので色々調べた結果を述べていきます。
きっと私みたいにゲームブログをする人が
wordpressで同じ問題に直面して困っていると思うので、その人に届け!

最近、「けつろんふぁーすと」とかいう単語を聞いたことがあるので、

けつろんをファーストにします。

ふぁーすと

私は以下の方法で解決しました。

  • wordpressの設定を一部変更
    • どちらかで対応可能(aでできることは確認しました。bは未確認)
      • a: (管理者権限)wp-includes/function.php に一行書き込む
      • b: 外観->テーマの編集->function.phpに数行書き込む
  • メディア追加後、記事のテキスト(html)モードでaudioをvideoに変更する

具体的に説明します。

wordpressの設定を一部変更

私が成功した、aの方法を説明します。
wordpressの存在するフォルダを開き、wp-includes/function.phpを開きます。
少し下のほうに行くと、こんな関数があります。

/**
 * Retrieve list of mime types and file extensions.
 *
 * @since 3.5.0
 * @since 4.2.0 Support was added for GIMP (xcf) files.
 *
 * @return array Array of mime types keyed by the file extension regex corresponding to those types.
 */
function wp_get_mime_types() {
	/**
	 * Filters the list of mime types and file extensions.
	 *
	 * This filter should be used to add, not remove, mime types. To remove
	 * mime types, use the {@see 'upload_mimes'} filter.
	 *
	 * @since 3.5.0
	 *
	 * @param array $wp_get_mime_types Mime types keyed by the file extension regex
	 *                                 corresponding to those types.
	 */
	return apply_filters( 'mime_types', array(
	// Image formats.
	'jpg|jpeg|jpe' => 'image/jpeg',
	'gif' => 'image/gif',
	'png' => 'image/png',
	'bmp' => 'image/bmp',
	'tiff|tif' => 'image/tiff',
	'ico' => 'image/x-icon',
	// Video formats.
	'asf|asx' => 'video/x-ms-asf',
	'wmv' => 'video/x-ms-wmv',
	'wmx' => 'video/x-ms-wmx',
... 略

ここに、紛れ込ませるように一行追加します。以下のように。

略 ... 
	// Video formats.
	'asf|asx' => 'video/x-ms-asf',
	'wmv' => 'video/x-ms-wmv',
	'wmx' => 'video/x-ms-wmx',
	'wm' => 'video/x-ms-wm',
	'avi' => 'video/avi',
	'divx' => 'video/divx',
	'flv' => 'video/x-flv',
	'mov|qt' => 'video/quicktime',
	'mpeg|mpg|mpe' => 'video/mpeg',
        'mp4' => 'audio/mp4',    ////////////この行です!!!!!!!この行を追加
	'mp4|m4v' => 'video/mp4',
	'ogv' => 'video/ogg',
	'webm' => 'video/webm',
	'mkv' => 'video/x-matroska',
... 略

これで保存します。

これにより、ps4で録画したmp4ファイルを、wordpressを使ってuploadすることが可能になります。

 

記事のテキスト(html)モードでaudioをvideoに変更

その後、ブログ記事を書きながら、画像を上げるときと同様の方法で、
ps4でとった動画をuploadし、記事の中に入れ込みます。

すると、wordpress側は、その動画ファイルを「音声ファイル」と勘違いして
音声プレイヤーで挿入されてしまいます。

ですので、挿入した状態で、記事を書いているモードを
[ビジュアルモード]から[テキストモード]に変更してください。

その後、動画ファイルを指しているであろう行を見つけたら、
その行に書いてあるaudioをvideoに書き換えてください。

※wordpress側で誤認識されないよう、大文字の空白を入れています。

具体的には、

[ audio mp4="https:// ... (upした動画のurl) ... .mp4" ][ /audio ]

となっているので、

[ video mp4="https:// ... (upした動画のurl) ... .mp4" ][ /video ]

に変更します。

 

そうすることで、元の編集モード(ビジュアルモード)に戻ると、
動画として処理されるようになります。

 

原因

こんなことをする羽目になった原因ですが、要因は2つ

  • ps4の録画機能で録画された.mp4のファイルは、mimetypeがaudio/mp4だった。
  • wordpressのセキュリティ機能で、拡張子.mp4でmimetypeがaudio/mp4のものは受け入れない仕組みになっていた。(あくまで私の理解の範囲なので、この表現は間違っている可能性があります)

そのため、アップロードできなかったようです。
mimetypeというのは、そのファイルがどんなファイルなのかを識別する記号のようなもののことです。

そのため、上述の方法では、

  • mimetypeがaudio/mp4で拡張子が.mp4なら、そのファイルは受け入れてよいことにする。
  • そして、(なぜか)デフォルトでaudioとして識別されるので、記事画面では動画として表示させる

という作業をしています。
後半の原因はもしかしたら、mimetypeの先頭がaudioだからなのかもしれないですね。

 

この方法での問題点

説明した方法aでは、wordpressがアップデートされるたびに更新作業を挟む必要がありそうです。
ですので、方法bでの編集を推奨します。こちらなら、テーマの編集作業なので、
aよりも管理が楽かと。

ただ、方法bでまだ私はうまくできていないので、方法bの説明はできません。
申し訳ないです

 

まとめ

ps4で録画した動画がwordpressの記事に載せることができない問題について、
解決策の一つをまとめました。

たぶんいると思うんだよな。これで躓いてyoutubeに動画を上げてリンクを張っている人。
私もそうしようかと思ったけど、
アカウント作るの面倒だから、しばらくはこっちのほうがいいかなって。

ちなみに、この問題ををプラグインで解決させることも可能ですが、
必要なプラグインの更新があまり行われていないため、
今回は使わない方針にしました。

ゲームブロガーに幸あれ。

コメント

タイトルとURLをコピーしました