|
|
NSV Nullsoft(Streaming|S as in Soft)Video
Winampで有名なNullsoftから新しいストリーミング形式であるNSVが公開されました。VP3とMP3という組み合わせのビデオファイルを手軽にストリーミングさせることが可能です。ストリーミング自体はHTTPを使ったものですが驚くべきことに早送りや巻き戻しといった機能を使うことが出来ます。このページはInternet TV@Winamp NSV(Nullsoft Streaming Video)さんを参考して作成いたしました。
NSVフォーマットっていったい?
- 概要
- NSV Nullsoft VideoフォーマットはMP3のWiampなどで有名なNullsoftが開発したストリーミングフォーマットです。通常のHTTPサーバからもストリーミングさせることが可能で早送りや巻き戻しといった他のフォーマットではストリーミングサーバを使用しなければ出来ない早送りや巻き戻しをHTTPのみで行なえます。
- 同社のストリーミングサーバ、SHOUTcastを使うことでライブ配信やファイルリストを使った擬似ライブ配信も行なえます。
- nsvフォーマットにエンコードするのにはNSV Toolsという専用のツール類を使います。動画、音声ともに複数のコーデックを選択することが可能でデフォルトではビデオ用にVP3コーデック、オーディオ用にMP3コーデックが使用出来ます。
- プラグインを入手することでVP6、AACを使うことが可能でクォリティを上げる事が出来ます。
- VP6、AACを使ったNSVビデオファイルは同じビットレートの他のストリーミングフォーマットと比べてもブロックノイズが少なく品質的にもかなり高いものです。
- 再生にはWinamp2.9以降が必要で最新のWinamp5でも問題なく再生出来ます。
NSV Tools
- 入手とインストール(VP6、AACコーデック)
- NSVファイルにエンコードするためのツールはNSVのサイトから入手することが出来ます。まずはこちらを入手してインストールします。
- Nullsoft NSV NSV Tools公式サイト
- ファイルの配信にNSVSCsrcを使いますのでupdateをダウンロードしてください。
- 標準のNSV ToolsではサポートされていないビデオコーデックVP6、AACコーデックを別途入手します。
- NSV Toolsのインストールは特に難しくはありません、指示に従うと任意のディレクトリーにツール類がインストールされます。同時にスタートメニューにも登録されますので確認してください。
- 同様にVP6プラグインもインストールします。
- AACコーデックはWinamp5をインストールしたディレクトリー内、プラグインディレクトリーにあるenc_aac.dllをnsv_coder_aac.dllにリネームしNSV Toolsのディレクトリーにコピーします。
- FlaskMPEG for NSV
- もしMPEGファイルをNSVに変換したい場合一番簡単なのがFlaskMPEGのスペシャル版を使うことです。デフォルトでnsv形式への変換設定が組み込まれていいますので使いなれたツールからエンコードが出来ます。但しFlaskMPEGがMPEGしか対応していないためAVI等のファイルは使用出来ません。AVIやQTでは後述するNSV
Batch EncoderかコマンドラインツールのNSVencを使うことになります。
- メニューからOptions→Output format Optionから行います。エンコード時に必要な項目を紹介しますので参考にしてください。
- ビットレートは音声、ビデオそれぞれに選択が出来るため二つを合せたものが実際のビットレートとなります。但し厳密にレートを守るようでは無いのであくまで参考にしてください。画質は低ビットレートでも思った以上に綺麗なものでした。インターネットでのストリーミングを考えるとなかなか使い勝手はよいと思います。
- NSV Batch Encoder
- 実際エンコードするのはNSVencというコマンドラインツールになりますがバッチエンコードするためのNSV
Batch Encoderを使用することでGUI環境でNSVへエンコードする事が出来ます。
- ファイルを読み込ませるとProfiles選択の画面になります。
- ProfileのEditを選び設定画面を開きます。
- Video processing
- インターレスの設定、クロッピングの設定が行なえます。
- Resizing
- Audio processing
- Output framerate
- NSV Encoder Configurationを開きます。
- Bitrate
- ビットレートの設定になりますがbps単位ですので注意してください。
- その他のツール類
FlaskMPEG以外にも多数のツールが同梱されていますが私のところでは相性が悪いのかエラーが発生して満足に使えません。こちらが解決したときは使用法等を追加いたしたいと思います。
- NSVenc
- コマンドラインによるエンコーダーです。MPEG/AVI/MOVから変換可能です。
- SHOUTcastへの配信機能もそなえていますので動画をライブ配信することも可能です。
- NSV Live Capture
- キャプチャー機器から直接NSVへ変換することが可能です。
- SHOUTcastへの配信機能もそなえていますので動画をライブ配信することも可能です。
- NSV Demuxer
- NSV Subtitle Muxer
- NSV Tag Editor
- NSVSCSRC.exe
ストリーミングさせる
- オンデマンド
- NSVファイルはHTTPでwebから配信することが可能です。これは専用のストリーミングサーバが不要ということを表しています。RealMediaや、WindwsMedia、QuickTimeもHTTPでストリーミングさせることが可能ですが決定的に異なる点があります。それはHTTPストリーミングでありながら早送りや巻き戻しといった作業が可能だということです。もう一つはキャッシュに残らないということです。専用のストリーミングサーバが用意出来ずそれでも長時間のビデオを流すには最適と言えます。
- winampを初めとするストリーミング対応のMP3プレイヤーはメタファイルとしてm3uやplsといった拡張子を持つファイルを使用します。これらの中身はインターネット上のファイルのアドレスが記載されているだけです。もしこのメタファイルを使用しない場合はダウンロードとなってしまいますので注意が必要です。実際にストリーミング用のサンプルを用意しました。早送りや巻き戻しを試してみてください。なお視聴にはwinamp2.9以上が必要です。
- Sample
- ライブ配信させるには
- NSVはSHOUTcast、PeerCastを使うことでライブ配信が行えます。方法は二種類、オンデマンドビデオを順不同で再生させる擬似ライブ配信と外部ディバイスを使ったライブ配信です。まずは擬似ライブ配信の方から紹介しましょう。
- 以下の情報はnsvfanさんから提供のあったものを加筆、実証したものです、nsvfanさんありがとうございました。
- ライブ配信を行なうにはSHOUTcast、PeerCast等のストリーミングサーバが稼動していることが前提です。ストリーミングサーバの構築はこちらを参照してください
- 擬似ライブ配信を行うにはNSVのインストールされたディレクトリにheaders.txtを用意する必要があります。headers.txtはその名の通り配信するコンテンツの内容を記載します。具体的には下記のようになります。
password:xxxxx --- SHOUTcast、PeerCastのパスワード
content-type:video/nsv
icy-metadata:0
icy-name:netwarp video--- チャネル名
icy-genre:movie--- ジャンル名
icy-pub:1
icy-br:300--- ビットレート
icy-url:http://netwarp.ddo.jp/--- URLアドレス
icy-irc:chan --- IRCチャンネル名
icy-icq:123456--- ICQユニーク名
icy-aim:--- AIMニックネーム
icy-reset:1
- 判るところだけ記載しました。下側のIRC以下はIM関連ですので適当に入れて置けば大丈夫です。
- これらの情報を記載したheaders.txtファイルをNSVと同じディレクトリに入れておきます。
- NSVscsrcGUIからの配信
- NSVscsrcGUIはGUI環境で擬似ライブ配信を行なうことが出来るツールです。使い方も簡単ですのでお薦めです。
- まず配信に必要なヘッダファイルを読み込ませます。これは先に作成したheaders.txtを選択します。
- NSVファイルのあるフォルダーを選択し読み込ませます。
- Winampのプレイリストファイル、m3uプレイリストを作成し読み込ませることも出来ます。
- SHOUTcastのあるアドレス、ポート番号、パスワードなどを設定します。
- Send File As title
- クライント側のWinampにタイトルを表示させます。
- Automatically Add Files
- フォルダー内にあるNSVファイルを自動的にランダムに読み込みます。
- 準備が整ったらメニュー→Stream→Let's Streamで配信開始します。
- 配信するNSVファイルは同じ形でエンコードしたものを使用します。コーデック、ビットレート、解像度等異なるファイルを配信することは予期せぬエラーを発生させます。当方で確認したところ再生されない、音声が早送り、もしくは遅くなるなどの症状が発生します。
- NSVSCSRCからの配信
- 実際に配信に使うコマンドラインツール、NSVSCSRCはNSVのインストールしたディレクトリにあります。
- headers.txtと配信したいビデオファイルが用意出来たらNSVのディレクトリに移動しコマンドラインから下記のように入力します。(c:\nsvにビデオファイルがある場合)
- nsvscsrc/sc IPアドレス(ホスト名):ポート番号:パスワード:headers.txt
c:¥nsv
- IPアドレス、ホスト名
- SHOUTcastが稼働しているPCのIPアドレス、もしくはホスト名。同一PCの場合はlocalhostでもよい。
- ポート番号
- パスワード
- headers.txt
- NSV Live Captureを使ったリアルタイムライブ配信
- 次にNSV Live Captureを使ったリアルタイムライブ配信について紹介します。こちらはキャプチャーした映像をそのままSHOUTcast、PeerCastへライブ配信することが可能です。
- まずNSV Live Captureを起動させます。対応しているキャプチャーボードであればDeviceに名前が出ますので確認します。
- File→Ser Capture Destinationを開きます。
- Output
- shoutcast server
- サーバの稼動するIPアドレス、ホスト名を入力します。
- 次にNSV→Config→Encoder Configを開きます。ここでコーデックの設定を行います。
- VP3とMP3を使ったものがお薦めですね。設定が済んだらCapture→Start Captureでライブ配信が行えます。
- NSV Live CaptureではVP6とAACは選択出来ません
- 再生するには
- SHOUTcastから擬似ライブ配信、ライブ配信されたものを再生させるには特殊なアドレスを必要とします。具体的には以下のようになります。
- http://IPアドレス(ホスト名):ポート番号(デフォルトは8000)/;stream.nsv
- ポート番号以下のアドレスが;(セミコロン)であることに注意してください。また最後はstream.nsvとなります。
- このアドレスをWinampに読み込ませるかplsファイルなどのメタファイルを利用してHPにリンクさせます。
最終更新日:2004-01-31 9:58:14 |
ストリーミ
ング保存ソフトMPX Gyao、DMMなど主要サイトに対応
|