VLC media playerの番外使用

VLC media playerの番外使用
VLC media playerを動画再生以外の目的で使用する方法
(2008.03.xx作成, 11.05.19更新)
 概要
VLC(VideoLAN Client) media @layer はDVDやCD、オーディオ/ビデオフォーマット
 (MPEG-1, MPEG-2, MPEG-4, DivX, mp3, ogg等)、及び様々なストリーミングの再生が
 可能な高性能のマルチメディアプレイヤー。
DVDのISOイメージファイルを直接メニュー付きで再生する事も可能。
VideoLAN独自の技術を含むデコーダーやプラグインが内蔵されているので、他にコーデ
 ックをダウンロードしたり、コーデックを追加する必要なく再生が可能。
Webブラウザでアップルやマイクロソフトの製品を使わなくてもQuickTimeやWindows
 Mediaのファイルを組み込んだサイトを見ることも出来る。

IPv4/IPv6のユニキャスト、マルチキャストのストリーミングサーバーとしても使用が可能。
再生機能
 メディア:DVD-Video, ビデオCD, スーパーVCD, 音楽CD, HTTP, FTP, MMSなど

 コンテナ形式:AVI, DivX, ASF, MP4, MOV, MPEG-2システム, Ogg, OGM, Matroska,
     WAV, FLVなど

 ビデオコーデック:DivX, XviD, MPEG-4, MS-MPEG4, H.263, WMV9, DV, Theora, H.264,
     Motion JPEGなど

 オーディオコーデック:MP1, MP2, MP3, AC-3, DTS, LPCM, AAC, Vorbis, WMA, ADPCM,
    DV Audio, FLAC, Real Audio, Speexなど
 
 VLC media Player 1.1.9で HTML5対応の動画へ変換
   HTML5 ビデオには、MP4(H.264/AAC)、OGG(Theora/Vorbis)とWebM(VP8/Vorbis)動画が
   あり、VLC media playerは各動画への変換が可能となっているが、その使い勝手は如何?
   64ビット版Windows 7環境で検証した。
   <参考> WebM動画について
   2010年5月19日 Google がウェブ向けのオープン動画規格 WebMを発表した。
   WebMは On2 のビデオコーデック VP8 をオープンソース化して採用することで、誰でも利
    用料なしで使える動画規格、及びそれを推進するプロジェクトの名称。
    具体的にはビデオにVP8、音声にオープンの既存コーデック Ogg Vorbisを使い、それらを
    格納するコンテナにMatroskaベースを使用し、拡張子はwebmとなっている。
   WebM動画へ変換可能なソフトには、Miro Video Converter 2.4、Free WebM Encoder 1.2、
    Wildform Fix WebM 0.9βとXMedia Recode 2.3.2.0があり、2011年からSUPERc2011b47と
    MediaCoder 2011R3 5130が可能となった(「WebM動画の作成(変換)ツール」参照)。
   VLC media player
    が、何時からWebM
    へ変換可能となった
    かは定かではない
    が、v1.1.8段階では
    変換出来たとしても
    Vorbisエンコーダが
    導入されておらず、
    出力された動画は
    無声だった。
I.VLC media playerによる動画変換の操作手順:例、WebM動画へ変換
 素材:予備試験ではフレームサイズの変更はトラブルが多いので(下記参考)、最終出力の
  解像度640x272と同じサイズのMPEG2_MP2.mpgを使用。
 最終目標のビットレート映像:436Kbps、音声:64Kbpsとして変換する事とする。
 1)「メディア」メニューの「変換/保存」を選択。
 
 2)「メディアを開く」画面の「ファイル」タブで、「追加」ボタンから素材ファイルを読み込む。
   外部の字幕ファイル ( *.cdg *.idx *.srt *.sub *.utf *.ass *.ssa *.aqt *.jss *.psb *.rt *.smi
   *.txt)を読み込んで利用する事が可能となっている。
 
 3)「変換/保存」ボタンをクリックすると、「変換」画面が表示される。
   出力用URL欄の出力ファイルに、「参照」ボタンをクリックして出力先と保存ファイル名を指定。
   コンテナ形式 (*.ps *.ts *.mpg *.ogg *.asf *.mp4 *.mov *.wav *.raw *.flv *.webm)も入力。
   「出力の表示」をチェックすると、変換時に映像が表示される。
   <重要>「ビデオに字幕をオーバーレイする」 時は必ずチェックする。チェックされていないと
     字幕を焼き付ける事が出来ない!

   設定欄の「プロファイル」で、ドロップダウンメニューより変換形式を選択する。
   ここでは、「Video-VP8+Vorbis(Webm)」を選択。
   「デインターレース」も可能でインターレース素材の場合はチェックするが、今回はパス。
 
 
 4)「選択されたプロファイルを編集」ボタンをクリックすると、「フォーマット」画面が表示される。
   「カプセル化」タブでコンテナ形式を選択(プロファイルを選択したのでWebmとなっている)。
   プロファイルには無いコンテナ形式:FLV、MKV、AVIも用意されているが、ファイルの保存
   ダイアログには*.avi *.mkvは無いので正しくMuxされるのか不明だ。
   今回は、Webmのままとする。
 
 4a)「ビデオコーデック」タブ
   コーデック:今回は、VP8以外に選択の余地は無し。
   ビットレートは、初め目標値の436 kb/秒に設定したが、著明な高値となってしまったので、
    成績の項で後記する如く試行錯誤して最終的には13 kb/秒とした。

   フレームレート:24.00フレーム/秒とした。
   解像度:640x272としたが今回はセーフだった(後述)。
 
 
丁寧に ”VLCはパラメータのひとつを入力すればオリジナルのアスペクト比で...”とあ
  るのだが・・・下記「フレームサイズの変更が上手く行かない...」を参照
 4b)「オーディオコーデック」タブ
    コーデック:今回は、Vorbis以外に選択の余地は無し。
    ビットレート:64 kb/秒に設定。チャンネル:2、サンプリングレート:44100
 
 4c)「字幕」タブ
   外部の字幕を DVB又はT.140で挿入する事が可能だ。「ビデオに字幕をオーバーレイす
    る」にチェックを入れない場合は、出力されたファイルの再生で字幕は表示されないの
    だが?・・・下記の蛇足を参照(こちらのフォーラムを参照)。
   今回はパス。
 
 5)「保存」して変換を「開始」すると、味気ない進捗状況が示され、保存先に出力される。
    「変換」画面で 「出力の表示」をチェックしておくと、進捗時に映像も表示されるが、
    字幕挿入時やサイズ変更時には上手く動画とならず多くは停止画像となってしまう。
 

 
  成績
    MediaInfoで解析:最終目標の映像ビットレート 436Kbpよりも 4倍強の高値で出力され
    てしまった ?(゜_。)?
 

   そこで試行錯誤したところ、
     設定値 15kb/秒→出力値 524Kbps、設定値 13kb/秒→出力値 455Kbps、
     設定値 12kb/秒→出力値 421Kbps
    と微調整が可能な事は救われるのだが、初めトライ値のメドが立たず調整に難渋した。
    *MP4(H.264/AAC), OGG(Theora/Vorbis)やTS(H.264/AACとMPEG2/MP2)への
    変換では、このように著明に外れるような事はなかった。
  結論
   VLC media playerはWebMへの変換も可能となったが、映像ビットレートの設定には不可
   解な問題点があり、現時点ではWebM変換の定番ツールとはならない。
   
 
II.HTML5対応の各動画へ変換
  素材:Blu-rayからリッピングしたM2TSファイルを更にHDConvertToXで変換した解像度
    1920x1072のH.264_AAC.mkvを使用(サイズが1920x1080ではない理由は、こちら
    参照)。
  設定
    映像のビットレート:436 kb/秒、フレームレート:24fps、解像度:空白 x 360
    音声のビットレート:64 kb/秒、チャンネル:2、サンプリングレート:44100
    に設定して 「デインターレース」もチェックして出力した。
    解像度は幅:空白として、高さ:360を指定すると、640x360ではなく 644x360(16:9)で
    出力されるが、後記の「フレームサイズの変更が上手く行かない」理由で良しとした。
 a)MP4動画への変換
   「変換」画面のドロップダウンメニューより「Video-H.264+AAC(MP4)」を選択。
    上記の設定で出力。
   成績
     MediaInfoで解析:最終目標の映像ビットレートよりやや高目に出力された。
 

 
QuickTimeやSafariで再生すると、映像が細かく横ブレしてしまう。Mac版では無声と
 なってしまう等QuickTimeとの相性が悪いファイルだ
・・・YambやMPEG Streamclip
 を用いて無劣化で再出力しても修正出来ない
(>_<、)
なお、Windows Media Player (12.0)、MPC HomeCinema(1.5.0)、GOM Player(2.1.30)、
 VLC media player(1.1.8)、SMPlayer(0.6.9)、KMPlayer(3.0.0)、SPlayer(3.7) では問題
 なく再生可能。
 
 b)OGG動画への変換
   「変換」画面のドロップダウンメニューより「Video-Theora+Vorbis(OGG)」を選択。
    上記の設定で出力した。
   成績
     MediaInfoで解析:
映像ビットレートは最終目標値で出力された。
 

 
XiphQT(VorbisのQuickTimeコンポーネント)を導入(こちらを参照)してもWin版QuickTime
やSafariで再生出来ない。Mac版QuickTimeでは再生可能となるが、Safariでは途中で
再生停止してしまう・・・即ち、OGG/OGMではなく OGVであろうか
(別項の疑問を参照) ?(゜_。)?
 
 c)WebM動画への変換
   「変換」画面のドロップダウンメニューよりVideo-VP8+Vorbis(Webm)」を選択。
    VP8のビットレート:436 kb/秒→微調整した以外は上記の設定で出力した。

   成績
    MediaInfoで解析:最終目標の映像ビットレート
436 kb/秒近くにするには、11 kb/秒に
     設定する必要があった
 

 
メディアプレイヤーでの再生で問題となる事はなかった。
 
   JavaScriptでキャプション付きHTML5 ビデオとして配信
    HTML5 ビデオはJavaScriptでクローズドキャプションに相当するソフトサブを表示させる
    事が可能なので (「...HTML5ビデオの字幕表示」を参照)、適用して提示した。
 
JavaScriptでHTML5
ビデオのキャプション表示
iframeリンク方式で配信
Xserver  ここから
 
HTML5方式で配信される動画をご覧頂くには、HTML5 ビデオ対応ブラウザが必要です。
各ブラウザのHTML5 ビデオ再生のフォーマット対応状況については、
こちらを参照。
 

動画形式
 ブラウザ
MP4動画
H.264/AAC
OGG動画
Theora/Vorbis
WebM動画
VP8/Vorbis
 Internet Explorer 8以前
×
×
×
 Internet Explorer 9
×
+WebMIE9
 Opera
×
10.5以降
10.6以降
 Firefox
×
3.5以降
4.0以降
 Google Chrome
3以降
3以降
 6以降
 Safari [Windows版]
3.1以降
+XiphQT
×
 Safari [MacOSX版]
3.1以降
+XiphQT
×
III.<参考>フレームサイズの変更が上手く行かない不都合について
    「Video-H.264+AAC(MP4)」への変換を例に、
      H.264のビットレート:654 kb/秒、フレームレート:24fps
      AACのビットレート:96 kb/秒、チャンネル:2、サンプリングレート:44100
      として、解像度を以下の如く設定して変換した。
     今回は、外部のSSA字幕ファイル(文字コード:UTF-8)を「ビデオにオーバーレイする」
      で挿入して出力した(変換用途に最適な字幕素材の形式は不明だが、VLCの再生
      では下記の如く 文字コード:Shift-JISは不適切だったのでUTF-8を使用した)。
    640x360(16:9)のMKV素材を同じサイズのMP4へ変換
      幅:640、高さ:360と指定した。    
 
MediaInfoで解析:
⇒アスペクト比に問題なく変換される。
再生上でも問題なかった。

なお、字幕ファイルをトラックに多重
  化(格納)出来る訳ではなく、ハ
  ードサブとなってしまう。

    1920x1072のMKV素材を 640x360に縮小してMP4へ変換
    素材:Blu-rayからリッピングしたM2TSファイルを更にHDConvertToXで変換した解像度
        1920x1072のH.264_AAC.mkvを使用
    1)幅:640、高さ:360と指定した場合
     ⇒解像度は640x360なるもアスペクト比が不正となって出力されてしまう。
 

 
多くのプレイヤー(WMP12.0、QuickTime7.6.9、 VLC media player1.1.8、SMPlayer0.6.9、
 KMPlayer3.0.0、SPlayer3.7)では、960
x360の横長で再生されてしまう。
MPC-HC1.5.0、GOM Player2.1.30は、アスペクト比16:9補正して再生する。
 
    2)幅:空白、高さ:360と指定した場合
     ⇒解像度は644x360と幅は4のみ増加するも、アスペクト比は適正に出力される。
 
 



    3)幅:640、高さ:空白と指定した場合
     ⇒解像度は640x358と高さは2のみ減少するも、アスペクト比が不正となって出力されてしまう。
 

 
MPC-HCとGOM Player以外の多くのプレイヤーでは、960x358の横長で再生されてしまう。
 
    結論
     今回の正確には16:9ではない1920x1072素材を16:9の640x360へサイズ変更する場合
     には、高さのみを指定しないと、とんでもないアスペクト比となって出力されてしまった。
     なお、640x356又は644x360を指定すればアスペクト比は16:9で出力してくれるのだが
      VLCは今回の素材ではオリジナルのアスペクト比を反映する?ので反って不都合だ。
    
追試(2011.05.xx)
      上記の不都合はそんなに遭遇する出来事ではない。
     無反応デジタルチューナPT1で地上デジタル放送を録画したTSファイル(MPEG2/AAC)
     を素材として追試した。この素材の解像度も正確には16:9ではない1440x1080なのだが、
     640x360を指定して変換しても MediaInfo解析では640x360(16:9)と正規のアスペクト比
      で出力されており、WMP(640x368で再生)以外の多くのプレイヤーではアスペクト比に
      問題なく再生可能だった。
 
IV.<蛇足>「ビデオに字幕をオーバーレイする」にチェックを入れないで出力した場合
  
外部のSSA字幕ファイル(文字コード:UTF-8)をビデオにオーバーレイせずに出力してみたが、
    OGG動画(Theora/Vorbis)とWebM動画(VP8/Vorbis)への変換では、上手くエンコード出来ず
    しばしばエラーとなりハングアップしてしまう。一方、
    MP4動画(H.264/AAC)及びTS動画(H.264/AACとMPEG2/MP2)への変換ではすんなり
    エンコードする事が可能だが、
    
・・・字幕はトラックに格納されず、再生しても表示されない。消失 ?(゜_。)?チンプンかんぷんだ。
 
「オーバーレイする」にチェック
を入れない場合のデモ
iframeリンク方式で配信
Xserver    ここから
    TS動画への変換でDVB字幕を使用した場合のみ、VLCでの再生ではビデオメニューの
     字幕トラックに存在するように示されるが、MediaInfo解析では字幕トラックを格納して
     おらず・・・
 

 
DVB字幕」にチェックを入れて再生しても字幕を表示する事は出来ない。
 
 
字幕表示が可能とされる他のメディアプレイヤー(WMP12.0、MPC-HC1.5.0、GOM Player
 2.1、SMPlayer0.6.9、KMPlayer3.0.0、SPlayer3.7)では字幕を検出出来ない。
 下図はSMPlayerで
TS(MPEG2/MP2)を再生した場合で、字幕トラックは検出されない。
 
    外部の字幕ファイルを SRT字幕ファイル(文字コード:UTF-8)に変更して、ビデオにオーバ
     ーレイせずに出力した場合も SSA利用時と同じく字幕表示出来ない。




 
 以下の記事は古い仕様のVLCとなってしまったが、そのまま残しておきます。
(2008.03.xx作成, 10.08.16更新)
 入手先
VLC media player (0.8.6d)を、ここから 入手。
 変換元素材
DVD MovieWriter 5 BD for I-O DATAの「Blu-ray/BDMV」で作成したMPEG2_AC3
.m2tsファイル(1920x1080)ここを参照)を用いた。

 A) VLC media playerでMPEG2-TSをMPEG2-PSに変換
  <参考> MPEG-2システムの方式について
     MPEG-2システムは任意の数の符号化された映像や音声、付加データなど個別のストリ
      ームを多重化し、それぞれの同期をとりながら再生するための方式で、広範囲なアプリケ
      ーションに対応するために2種類の方式が規定されている。
     Program StreamPS、プログラムストリーム)は、1本のストリームの中に唯1つのプログ
      ラムを構成する。誤りの発生しない環境でのデータの伝送・蓄積に適用されることを想定
      しており、DVDなどの強力な誤り訂正符号を用いたメディアで使用されている。
     Transport StreamTS、トランスポートストリーム)は、1本のストリームの中に複数のプ
      ログラムを構成することが出来るので色々な情報を乗せることが可能。放送や通信ネット
      ワークなどデータの伝送誤りが発生する環境に適用されることを想定しており、デジタル
      放送に使われている。
     なお伝送レートは、PSでは可変でも良いが、TSでは固定の通信路で使用される。
    
1)「ファイル」メニュー」の「ファイルを開く」
 を選択。
2)「開く」の「参照」ボタンから、
  MPEG2-TSファイルを読み込む。
 「高度なオプション」の「Stream/Save」 をチェックして、「設定」ボタンをクリック。
3)すると、「ストリーム出力」画面が表示される。
 「Outputs」の「ファイル」をチェックし、「参照」ボタンをクリックして保存先とファイル名
  を入れる。
 「MPEG PS」を選択して、「OK」ボタンを押す。
4)画面が「開く」に切り替わったら、「OK」ボタンを押す。
5)すると、変換が開始されて保存先に出
 力される。
 拡張子を.mpg又は.m2pにする。



 B) VLC media playerを動画のコンバータとして使用
1)「ファイル」メニューの「ウィザード」
 を選択。
2)「Streaming/
 Transcoding
 Wizard」で
 「Transcode/
 Save to file」を
 チェックして
 「Next>」をクリック
3)「入力」画面で
 変換元ファイルを
 指定する為に、
 「ストリームを選択」
 をチェックして
 「Next>」をクリック
4)「開く」画面の「ファイル」タブで、「参照」ボタンから変換元ファイルを指定して「OK」する
5)「Tanscode」画面で、圧縮に使用するコーデックとビットレートをプルダウンから選択する。
  ビットレートは、カスタム設定出来ない。
  図は映像にH.264を、音声にMPEG 4 Audio(AAC)を使用した場合
6)「Encapsulatio format」
 画面で、使用する
 コンテナ形式を選択する
*コンテナ形式は、用い
  るコーデックで選択
 可能なもの以外はグレ
 ー表示となる。
7)「Additional transcode
  options」画面で、
 保存先とファイル名を
 指定する
8)Finish」ボタンを押すと変換が開始される
 
結果
 サイズの変更、ビットレートのカスタム設定や詳細なコーデックの設定は出来ない
 常識的な組み合わせはMP4, OGM, MPEGへの変換だが、実用的なのはMP4だけだ。
 参考VLC media playerはサイズの変更が出来ないので、元素材をAuiUtilでサイズ変更
    してHuffyuv_PCM.aviで出力してから、VLC media playerでH.264_AAC.mp4に変換した。
VLC media player変換したH.264_AAC.mp4の
 配信テスト(約1分)

 FFmpegエンジンが使用されていると云う。
 疑似ストリーム(Faststart再生)配信が可能!
Total
Embed方式
Stand方式
615Kbps
841Kbps
 Multi-passエンコード出来ず、トータルビットレート 615Kbpsでは画質が悪い。
   *ムービーを視聴するには、QuickTime7以降が必要です。


 参照) VLC media playerでストリーム配信
追記(2010.08.17)
 VLC media player1.1.0でストリーム動画に字幕ファイルのオーバーレイ表示
 
◎印:問題なく字幕表示  ▽印:文字修飾の表示不可  ▼印:日本語の文字化け
 

字幕ファイルの形式
(文字コード)
 対象のメディア形式
SSA
ASS
SRT
Shift-JIS
UTF-8,
UTF-16LE
Shift-JIS
UTF-8,
UTF-16LE
Shift-JIS,UTF-8
,UTF-16LE
Windows Media(ASF)
 ローカル再生

文字化け

文字化け

srt.style不可
 「URLで開く」のWeb再生

文字化け

文字化け

srt.style不可
Real Media(RM)
 ローカル再生

文字化け

文字化け

srt.style不可
 「URLで開く」のWeb再生

文字化け

文字化け

srt.style不可
H.264圧縮MOV
 ローカル再生

文字化け

文字化け

srt.style不可
 「URLで開く」のWeb再生
字幕の表示可能だが、Webではガクガク再生で視聴に耐えない
H.264圧縮MP4
 ローカル再生

文字化け

文字化け

srt.style不可
 「URLで開く」のWeb再生
字幕の表示可能だが、Webではガクガク再生で視聴に耐えない
NSV
 ローカル再生

文字化け

文字化け

srt.style不可
 「URLで開く」のWeb再生

文字化け

文字化け

srt.style不可
On2VP6圧縮FLV4
 ローカル再生

文字化け

文字化け

srt.style不可
 「URLで開く」のWeb再生

文字化け

文字化け

srt.style不可
DivX Media Format(DIVX)
 ローカル再生

文字化け

文字化け

srt.style不可
 「URLで開く」のWeb再生

文字化け

文字化け

srt.style不可
H.264圧縮MKV
 ローカル再生

文字化け

文字化け

srt.style不可
 「URLで開く」のWeb再生

文字化け

文字化け

srt.style不可
H.264_AC3圧縮M2TS
 ローカル再生
再生不可
 「URLで開く」のWeb再生
動画の再生は可能だが、字幕をドラッグすると再生停止してしまう



| Kenのムービー計画へ >動画狂コーナーへ |