スマホなどで撮影したmp4動画を、DLNAで再生しようとすると、以下の症状が出る場合があります。
(1) mp4ファイルが表示されない
(2) 再生開始までに時間がかかる
(3) PCからmp4ファイルのプロパティを変更すると時間がかかる
この症状について、ドラッグ&ドロップでの解決できるようバッチファイルを作成しましたのでメモしておきたいと思います。
私が作成したバッチファイルはWindows用ですので、Windows場合の説明をさせていただきます。
対応方法イメージ
ドラッグ&ドロップするだけで、今回の問題を解決したmp4ファイルを新規に生成します。オリジナルファイルは残すようにしました。
FFMpeg
まずは、今回の変換で使用するFFMpegを入手します。
ダウンロード
ffmpegの使い方についてはこちらの記事を参考にさせていただきました
参考記事:https://web.plus-idea.net/2015/11/windows-ffmpeg/
① https://www.ffmpeg.org/ にアクセスし、〔Download〕を選択
② Windowsを選択
③ 〔Windows builds by Zeranoe〕 を選択
④ ”Architecture”のOSを確認し、〔Download Build〕を選択
これでダウンロードが完了です。
FFMPEGの配置
ここでは、私の環境である以下を例に説明を進めます。
ffmpeg配置フォルダ:C:\cmd
※他の場所でも問題ありません。その場合はパスを読み替えて実施してください、
① Cドライブ直下にcmdというフォルダを作成
② 作成したフォルダに、ダウンロードしたzipファイルを移動する
C:\cmd に ffmpeg-20200415-51db0a4-win64-static.zip を移動
③ zipファイルを解凍し、解凍済みのzipファイルを削除する
C:\cmd\ffmpeg-20200415-51db0a4-win64-static.zip ←解凍後に削除
C:\cmd\ffmpeg-20200415-51db0a4-win64-static ←このフォルダのみ残る
④ フォルダの名前を”ffmpeg”に変更
C:\cmd\ffmpeg ←リネームした結果
パスを通す
どこからでもコマンドを実行できるように環境変数のパスを通します。
① 〔コントロールパネル〕-〔システムとセキュリティ〕-〔システム〕-〔システムの詳細設定〕を開く
② 〔詳細設定〕タブの〔環境変数〕を選択
③ ”システム環境変数” の 〔Path〕を選択し、〔編集〕を選択
④ 〔新規〕を選択し、〔C:\cmd\ffmpeg\bin〕と入力し、〔OK〕を選択
バッチファイルの作成
複数ファイルをまとめてドラッグ&ドロップで処理できるようにバッチファイルを作成しました。
変換が終了すると、ファイル名の最後尾に”(dlna)”を追加して保存します。オリジナルファイルは残るのでご安心ください。
5年前くらいに自分用に書いたコードなのですが、今まで問題なく使えているので、公開することにしました。
① メモ帳などのテキストエディタを開く
② 以下のコードをコピーして、テキストエディタに貼り付ける
rem 実行コマンド表示/非表示切り替え
@echo off
echo =================== start ===================
rem 繰り返し処理の戻り先
:loop
rem "を削除して%1を展開した結果がNULLだったら終了時処理にジャンプ
if "%~1" == "" goto end
if "%~x1" == ".mp4" (
rem FFMPEG 変換処理実行
rem %~f1・・・変換前フルパス
rem %~pn1_after%~x1・・・変換後フルパス
ffmpeg -i "%~f1" -vcodec copy -acodec copy "%~dpn1(dlna)%~x1"
)
rem パラメーターを繰り上げる
shift
rem 繰り返し処理に戻る
goto loop
rem 終了時のジャンプ箇所
:end
echo =================== finish ===================
pause
③ ”mp4_dlna_converter.bat” という名前で保存して閉じる
拡張子が.batであれば、お好きな名前で問題ありません。予期せぬエラーが発生しないように、全角文字は使わない方が無難です。
使い方
① mp4ファイルを ”mp4_dlna_converter.bat” にドラッグ&ドロップ
複数ファイル変換する場合は、複数ファイルを選択してドラッグ&ドロップしてください。フォルダのドラッグ&ドロップには対応していません。
バッチファイルとmp4ファイルは同一フォルダである必要はありません。
② コマンドプロンプトが起動するので、待ちます。進捗が表示されます。
③ 終了すると、”FINISH” と表示されるので、画面を閉じる
これで完了です。mp4ファイルと同じフォルダに、変換済みのmp4ファイルが追加されているはずです。
実行結果
今回の問題があるmp4動画を変換したところ、(1)~(3)全てに大きな効果が出ました。
(1) mp4ファイルが表示されない
⇒ DLNAクライアントで表示されるようになりました。
(2) 再生開始までに時間がかかる
⇒ 再生開始までの時間が1/5程度に短縮しました
(3) PCからmp4ファイルのプロパティを変更すると時間がかかる
⇒ 数秒~数分かかっていましたが、即時反映されるようになりました。
まとめ
ネットで調べても対処方法が見つからなかったので、色々と試行錯誤してこの方法にたどり着きました。
スマホで撮影した動画などは、今回のバッチファイルで変換してからDLNAサーバーにアップするとよいと思います。
今回の対処方法で快適にmp4再生ができるようになると思いますので、同じような症状にお悩みの方は是非お試し下さい。