README

PMS 1.74.0 for VIERA
・UMSのソースコードを借用(Thanks SubJunk)

・avcmodのコードを一部お借りしてます。

・ts2ptsコマンドをお借りしてます。

・rplsinfoコマンドをお借りしています。

・VT2にて動作確認

・m2ts,ts,mpeg2は基本的にトラスコなし再生可能。

・インストール方法
 Javaがインストールされていない場合、 下記サイトから最新版のJavaを
 インストールすること
    http://www.java.com/ja/download/manual.jsp
 Javaインストール後、PMSのダウンロードパッケージを実行する。

・Vista以降へのインストールの注意
 Vista以降ではデフォルトのインストールフォルダである C:\Program Files
 に対してアクセス制限が掛けられている為、正常に動作しない。
 対策として、書き込み権のあるフォルダにインストールするか、
 C:\Program Files\PS3 Media Serverフォルダに対してプロパティ画面の
 「セキュリティ」タブを開いて「Users」にフルコントロールのアクセス許可を与える。

・メディアライブラリについて
 PMSはファイルの情報をメディアライブラリとしてキャッシュ化している
 その為、始めてフォルダを開く際、処理時間が掛かる。
 快適に使用する為、予め共有フォルダのスキャン(共有設定の虫眼鏡アイコン)
 を実施する事を推奨する。

・YouTubeのチャンネルやプレイリストを見る方法
 WEB.confに下記書式で登録してください (フォルダの階層は","区切り)
 チャンネル
 videofeed.[フォルダ]=https://www.youtube.com/feeds/videos.xml?user=[ユーザー名]
 videofeed.[フォルダ]=https://www.youtube.com/feeds/videos.xml?channel_id=[チャンネルのID]
 プレイリスト
 videofeed.[フォルダ]=https://www.youtube.com/feeds/videos.xml?playlist_id=[プレイリストのID]
 ストリーム
 videostream.[フォルダ]=[表示タイトル名],[アドレス]
 
 「再生できません」になっても何度かリトライすればバッファが溜まって再生されます
 受信が間に合わない場合は一時停止等でバッファが溜まるのを待ってください

・DVDタイトルのリスト表示にて言語表示が長すぎて尻切れになる場合
 PMS.confに short_lang = true を定義することでLang表示を略称に変更可能
 また、タイトル表示を任意のルールで置換したい場合PMS.confまたはにrenderers/*.confに
 replace_pattern1 = <正規表現>、replace_result1 = <置換パタン>
 を追加する事で任意のルールに基づいてタイトル表示を変更可能
 replace_pattern2/replace_result2、replace_pattern3/replace_result3まで有効
 全角文字はUnicodeエスケープシーケンス形式で記述してください(例:全角スペース \u3000)
 renderers/*.conf側にreplace_pattern1を定義することでrenderers/*.conf側の設定が有効になる

  例)
 タイトルが20120324 2345 関西テレビ 天気予報.tsを0324 天気予報.tsに置換する場合
 replace_pattern1 = ^\\d\\d\\d\\d(\\d\\d\\d\\d)\\s+\\d\\d\\d\\d\\s+\\S+\\s(.*)$
 replace_result1 = $1 $2

・変換設定にてFFMpegAVCEncoder(Batch)を有効にする事でm2tsへのエンコード処理を
 バッチ処理する### FFMpegAVCEncoder(Batch) ###を追加
 変換されたファイルは### BACKUP ###ディレクトリに出力
 変換中でも追っかけ再生機能により再生可能
 また、変換中はクライアントとの接続を切ってもエンコードは続行
 ffmpegに渡す引数はPMS.conf又はrenderers/*.confに ffmpeg_avcenc_batch_args
 を定義することでカスタマイズ可能(定義フォーマットはPMS.conf.txtを参照)
 バッチ処理実行前にFFMpegAVCEncoderにて予め変換結果をトラスコ再生により
 確認する事を推奨する

・変換設定にてTs2PtsEncoderを有効にする事でTSファイルをパーシャルTS
 に変換するTs2PtsEncoderを追加
 変換されたファイルは### BACKUP ###ディレクトリに出力
 変換中でも追っかけ再生機能により再生可能
 また、変換中はクライアントとの接続を切ってもエンコードは続行
 VIERA側で字幕・副音声の切り替えが可能である事を確認済み

・トラスコフォルダにてファイルの削除が可能
 ### REMOVE ###を実行すると### BACKUP ###ディレクトリにファイルを移動
 更に### BACKUP ###ディレクトリにて### DELETE ###を実行すると
 ファイルを削除し、### RECOVER ###にてファイルを戻す

・VT2等クライアント側にレジューム機能が無い場合でもレジューム動作する様に
 PMS側にレジューム機能を追加
 有効にするにはrenderers/*.confにてresume=trueを追加する
 また、バーチャルフォルダの"Resume"にてON/OFFの切り替えが可能
 頭から再生したい場合、再生時刻7秒くらいの位置から逆再生(最低速)する
 オートチャプタのフォルダから再生するとレジューム時刻を設定可能
 レジューム情報を消去したい場合、バーチャルフォルダの"Resume Clear"
 を実行(トラスコフォルダの"Resume Clear"にて対象フォルダ内のレジューム
 情報のみ消去可能)
 (制限)
  PMSはクライアントから指示があった時の時刻しか把握出来ない為、一時中断
  する時は一時停止→再生と再生イベントを起してから終了すること
  この機能は再生時間にオフセットを与えてクライアントを騙しているので
  レジュームポイント以前の時刻にはシークできません

・変換設定にてiPodEncoderを有効にする事でiPhone/iPod向けにMP4のファイルに
 エンコードするiPodEncoderを追加
 MP4コンテナの性質上、完全にエンコードが完了するまでファイル再生できない
 エンコードされたファイルは### BACKUP ###ディレクトリに出力
 エンコード中はクライアントとの接続を切ってもエンコードは続行
 PMS.confにiPodEncSize=***x***にて出力ファイルの解像度を設定可能
 DVDISOを再生したい場合、### DVD VOB EXTRACT ###にてVOBを抽出した後
 iPodEncoderにてMP4へのエンコードを行う

・TVTest等で録画したTSファイルの追っかけ再生に対応

・TVTestリアルタイム再生方法
 1)オリジナルのTVTest環境を任意の場所にコピーする
 2)PMS.confにtvtest_path = <TVTest.exeのパス>を定義する
  例)
   tvtest_path = G:\\TVTest\\TVTest.exe
 3)再生したいチャンネルを*.tvtestとして作成する
  (\win32\TvTestSampleにサンプルを置いてます)
 4)作成した*.tvtestを共有ディレクトリに置き再生する
  再生に失敗する時は時間を空けて再実行を繰り返してください
  視聴終了後同じチャンネルを続けて視聴したい場合は一度他のチャンネルを
  再生してください。
 補足)
 ・REGZA等クライアントによってはMIMEとDLNA Profileをデフォルトから
  変更する必要があります。その場合はPMS.conf又はrenderers/*.confに
  tvtest_mime 及び tvtest_profileを設定すること
   REGZA R1の場合:tvtest_profile = DLNA.ORG_PN=MPEG_PS_NTSC
 ・トラスコ無し再生が正常動作しない場合PMS.conf又はrenderers/*.confに
  tvtest_rec_delay = <秒> を設定してTVTestが起動して録画が開始するまでの
  時間を調整してください(1~5秒程度)
 ・トラスコ再生(TVEncoder)にてffmpegに渡す引数はFFMpegAVCEncoderと共通です
 ・ビットレートが低い場合、再生開始に必要なファイルサイズに到達するまでに
  時間が掛かります
 ・再生開始前にTVTestが終了する場合はPMS.confに
  tvtest_kill_interval = <秒> (デフォルト15)
  を指定してTVTestを終了する時間を延ばしてください
 ・tvtest_kill_intervalでTVTest終了時間を伸ばした場合や、TVTestのプロセス
  制御に異常が生じた場合はトラスコフォルダ内の #-ビデオ設定-# にて
  KILL TV Processを実行し強制的にプロセスを終了させる

・RecTask等のTSストリームをUDP経由で受け取る方法
 (TVTestリアルタイム再生の応用)
   TVTestのUDP受信機能を応用して
    /d BonDriver_UDP.dll /port 1234
  のような*.tvtestファイルを作成して再生する

 (WEB.confを使用する方法)
  WEB.confに下記を追加
  videostream.Web,UDP=<任意の名前>,udp://@:<ポート名>
  ビデオストリーム配信エンジンにVLC VideoStreamを選択し
  DVDISO Force Remuxをtrueにして再生
   *注意
    VLCはチャンネル変更等でTSストリームに異常が生じると落ちます
    チャンネル変更の際は再生を終了してください
 
・クライアントがVT3等MP4に対応している場合、MP4のトラスコなし
 再生可能。但しrenderers/*.confのTranscodeExtensions
 の項目からmp4を削除する必要あり

・部分削除したファイル等、タイムスタンプが異常なファイルは
 SeekByTimeでは正しくシークできません。その場合バーチャルフォルダの
  #-ビデオ設定-# にてSeekByTimeをfalseにして再生してください

・DVDISO再生にて字幕が不要な場合、バーチャルフォルダの #-ビデオ設定-#
 にてDVDISO Force Remux を有効にする事で再エンコードを回避可能
 また、PMS.confにdvd_force_remux=trueを設定することでDvdForceRemux
 のデフォルト設定を指定可能

・予めスキャンをする必要はありませんが、ファイル名が変わらない場合
 データベースは更新されません。強制的にデータベースを更新したい場合
 メディアライブラリの初期化を行なってください(バーチャルフォルダの
  #-ビデオ設定-# にて、Reset Databaseを実行する事でも初期化可能) 
 また、一部のフォルダのみデータベースを初期化したい場合はトラスコ
 フォルダ内の #-ビデオ設定-# にてReset Current Folderを実行してください

・再生ファイルと同名で拡張子の異なるファイルが同じディレクトリ内に
 存在した場合、字幕ファイルと誤認識され強制トラスコ再生となります
 字幕の設定にてstr,subの自動読み込みをfalseにする事で回避できます
 (但しReset Current Folder等でデータベースの再構築が必要)

・メディアライブラリの自動スキャン機能を有効にする場合
 実行したい時刻をPMS.confのauto_scan_timeにHH:mmのフォーマットで
 指定してください

・mkv,mp4(H264)はtsMuxeRを推奨するが予めtsMuxerGUI
  でm2tsに変換した方がトラスコ無しで快適

・ISOはvobに展開するとトラスコ無しで快適

・VIERA等音楽再生に未対応のクライアントの場合、renderers/*.confにて
 audio_to_video = true を設定することでmp3 wav wma aac oggを動画として
 偽装化(AviSynth必須)
 負荷が重い場合、renderers/*.confにaudio_to_video_Lv = 1 を追加することで
 低負荷モードで再生
 また、プレイリスト作成コマンドにてプレイリストのAviSynthスクリプトを
 自動生成可能

 (プレイリスト作成コマンド使用方法)
    win32/avs/PlayListD&D.bat
     アイコンに複数の音楽ファイルを
     ドラッグ&ドロップする事でプレイリスト.avsを自動生成
     (制限:指定できるファイル数はDOSの引数制限に依存します)

    win32/avs/PlayListDir.bat
     アイコンに音楽ファイル(*.mp3)のrootディレクトリを
     ドラッグ&ドロップする事でディレクトリ以下の*.mp3
     に対してプレイリストの.avsを自動生成

    win32/avs/m3u2avs.bat
     アイコンにプレイリスト(*.m3u)をドラッグ&ドロップ
     する事でプレイリストの.avsに変換

 (AviSynthが適用できない場合)
  Linux等AviSynthが適用できない場合でも、FFMpegVideoAsAudioによりFFMpegを用いた
  音楽ファイルの動画偽装再生か可能 renderers\images\FFMpegVideoAsAudio.jpg
  を変更する事で偽装に用いる画像を変更可能

・avcmodの下記パラメータも使えます
    MpegTS_HD_Only
     MpegTS_HD_ISO
     MpegTS_MimeType
     MpegTTS_MimeType
    MEncoderHDResizeX
    MEncoderHDResizeY

・バーチャルファイル作成ノウハウ
 バーチャルファイルの作成に必要なmencoderの引数は元のファイルを再生することで
 debug.logに出力されています
 DVDISOの場合
 1)PMSを起動し、作成したいタイトルを再生する
 2)PMSを終了し、debug.logをテキストエディタで開
 3)キーワード"mencoder.exe-"で検索し、該当箇所を探す
  Starting "C:\Program Files\PS3 Media Server\win32\mencoder.exe" -ss 0 -dvd-device "XXX.iso" dvd://1
   -msglevel statusline=2 -oac copy
   -of mpeg -mpegopts format=mpeg2:muxrate=500000:vbuf_size=1194:abuf_size=64:vaspect=16/9
   -ovc lavc -channels 6 -lavdopts debug=0:threads=1 -lavcopts
   autoaspect=1:vcodec=mpeg2video:acodec=ac3:abitrate=448:threads=8:keyint=5:vqscale=1:vqmin=1:vrc_maxrate=54000:vrc_buf_size=1835
   -font C:\WINDOWS\Fonts\Arial.ttf -subfont-text-scale 3 -subfont-outline 1 -subfont-blur 1 -subpos 98 -fontconfig
   -aid 129 -sid 1 -mc 0.005 -ofps 25 -vf scale=720:480 -o \\.\pipe\mencoder1373763760718
 4)出力定義等不要な部分を削除し、XXX.pmsvfのmencoderオプションに貼り付ける
  mencoder=-dvd-device "XXX.iso" dvd://1
   -msglevel statusline=2 -oac copy
   -of mpeg -mpegopts format=mpeg2:muxrate=500000:vbuf_size=1194:abuf_size=64:vaspect=16/9
   -ovc lavc -channels 6 -lavdopts debug=0:threads=1 -lavcopts
   autoaspect=1:vcodec=mpeg2video:acodec=ac3:abitrate=448:threads=8:keyint=5:vqscale=1:vqmin=1:vrc_maxrate=54000:vrc_buf_size=1835
   -font C:\WINDOWS\Fonts\Arial.ttf -subfont-text-scale 3 -subfont-outline 1 -subfont-blur 1 -subpos 98 -fontconfig
   -aid 129 -sid 1 -mc 0.005 -ofps 25
 5)チャプタ情報が必要な場合、キーワード"chapter"で検索し該当箇所を探す
  DEBUG 2013-07-14 10:02:17.468 [pool-14-thread-1] chapter[1]=00:00:00.000
  DEBUG 2013-07-14 10:02:17.468 [pool-14-thread-1] chapter[1]=00:05:24.033
  DEBUG 2013-07-14 10:02:17.468 [pool-14-thread-1] chapter[1]=00:09:17.500
                   :
 6)不要な部分を削除し、XXX.pmsvfのchapterオプションに貼り付ける
  chapter=00:00:00.000
  chapter=00:05:24.033
  chapter=00:09:17.500
      :
最終更新:2015年11月09日 20:16