2014年01月27日

Win7->UbuntuではVLCプレイリスト問題は生じないとかWMPストリームとか

Windows7のVLCサーバーからプレイリストをストリームし、Ubuntu12.04のVLCクライアントで受信しても、頭出しのコマ落ち問題は発生しなかった。

つまり、Fedora 20のGNOME3デスクトップが、XPマシーンでは辛かった可能性が一番高い。
サーバー側の問題かと思ったが、クライアントの処理能力の問題だということだ。YouTubeでも辛い場合XPマシーンだとあるからな。

他方、Windows Media Playerのストリーム機能はWin-Winな関係。インターネット接続をサポートしているが、その場合はWindows Liveのアカウントを介して行う。

そういうわけで、iTunesのホームシェアリングと同じで、使いにくいということだ。検討しない。

やはりVNC+VLC(紛らわしいな、2Vとしておく)がマルチプラットホームでは、今のところ最強タッグとする。
さらにVNC+VCL+VPN(更に紛らわしい、3Vとする)ならインターネットを介しても音楽程度なら大丈夫だろうと思う。

VNC=バーチャル・ネットワーク・コンピューティング
VLC=ビデオLANクライアント
VPN=バーチャル・プライベート・ネットワーク

どの国でも立ちションはするでしょう?<ー橋本&NHK新会長の感受性

VPNは3〜4月頃チャレンジしたい。あまりぼくには意味がないんだが。
posted by Kose at 18:29| VLC Media Player

Windows Media Playerでもストリーミングができるみたいだが

Windows Media Player でメディア ストリーミングの設定を変更する
http://windows.microsoft.com/ja-jp/windows7/change-settings-for-streaming-media-in-windows-media-player
メディア ストリーミング (以前のバージョンの Windows Media Player におけるメディア共有と呼ばれます) をセットアップすると、選択した音楽、ビデオおよび画像を、ネットワーク上にあるデバイスやコンピューターでストリーム再生できるようになります。また、ストリーム配信されるメディアにアクセスできるデバイスを指定することもできます。

ということだが、例のWindowsの恣意的なメニューの変更のため古いインターフェースのVLCよりも操作性が悪い。アドホックだということだ。マイクロソフトは頭おかしんじゃないか?

しかし、VLCは例の頭出しのコマ落ち問題の解決(プレイリストがGUIに十分統合されていない)があるので、これもお勉強する。結構分量がある。ストリームもできるし、ストリームも受信できるが、VLCで受信できるかどうかはテストを要する。おそらくタブレットではできるんじゃあるまいか。タブレット何も持っていないが。

来月になったら、やっとなんかタブレット買うので(Windowsではありえない)、その時Windows Media Playerのストリーミング機能をテストすることにしたい。

他にもストリーミング機能について調べたいけれど、それはあくまでリモードデスクトップの余興です。

ああ、Excel VBAマクロの勉強をする。憂鬱だ。
posted by Kose at 08:44| VLC Media Player

2014年01月26日

VLCをご贔屓に

ほとんど本来の目的からかけ離れたVLCによるストリーミングに関するドキュメントの翻訳をしました。

ドキュメント自体が古く、またVideoLANの目的がはっきりしないため、未だにわからない点が多数残ったまま。

メディアプレーヤーとしてはかなり有名だけれど、LANストリーミング機能を使っている人がどれだけいるのか?HTTPサーバーなら、LAN外のストリーミングも可能なわけだが、インタネットストリーミングでは、SHOUTcastとかICEcastのほうが圧倒的にメジャーで、そこまで行くと、もはやそもそもの素朴な目的とは全く関係なくなってしまうので、HTTPプロトコルについては全く追求しなかった。

サーバーとしては基本的にLAN内でRDPプロトコルでストリームする以上は考えない。
クライアントとしては、HTTPストリーミングを受信することができる。YouTubeも受信できる。

通常の画面ではなく「表示→プレイリスト」画面に切り替えると、そういう用途がかなり簡単にわかります。

著作権問題があるので、合法の範囲内で活用してくださいね。

ここまで訳してもまだ、プレイリストの頭出しでのコマ落ち現象が結局解決できていない。できなくていいのだけれど。

例えば、iTunesのライブラリファイルをVLC用に変えるとか・・・など考えるとまた脱線するのでとりあえずやめておきます。

今後、XPサポート終了までにVBAマクロの学習を済ませないと。サポートが終了しても非常に多くXPユーザーが残るのはもう確実なので、そう慌てる必要はない。

しかし寒い・・・

VLC Media Playerを持ちでないかたは(オープンソース・フリー、各種OS版あり)
VLC Media Player ダウンロード・ページ
posted by Kose at 20:47| VLC Media Player

VideoLANドキュメント私訳 第九回(最終回) XSPF(プレイリスト)

VideoLANドキュメント ストリーミング関連抜粋私訳
https://wiki.videolan.org/Main_Page/

VLC Media Playerを持ちでないかたは(オープンソース・フリー、各種OS版あり)
VLC Media Player ダウンロード・ページ

VideoLanのwikiドキュメントの内、ストリーミングに関連するドキュメントを翻訳試みました。
数回に分けて掲載します。全部を一度に見る場合は、次のPDFファイルをご覧ください。
VideoLAN-Document-Streaming-How-To-etc.pdf
##########################################
第九回 XSPF

訳注:プレイリストファイルの問題
オーディオファイルを連続再生するためにはプレイリストを作成する必要があります。
ローカルでは単に複数のファイルを開く(メディア)、ディレクトリを開く(メディア)で自動的にプレイリストが作成されます。
開いたあとプレイリストファイルを保存する(メディア)とプレイリストファイルが拡張子.xspfのXMLファイルとして保存されます(テキストファイルです)。
プレイリストファイルはエディターで開くことができます。またエディターでプレイリストを作成編集ができます。
これを訳出するのは、連続ストリームをすると曲の頭で変換が行われるため、頭が切れる場合が生じる不具合に対応するためです。ここまで訳出してきて「変換しない」ようコマンドラインを編集したらいいのじゃないかと思ってますが、ついでなので訳出します。う〜ん?

XSPF
https://wiki.videolan.org/XSPF/

VLCプレイリスト

スピフと発音するXSPFはXML形式のプレイリストです。これはXiphによってサポートされます。これはフリーでオープンのフォーマットなので簡単に、自由にプレイリストを共有するのに使うことができます。

目次
1.サンプル
2.互換性
3.VLC拡張
3.1.vlc:node
3.2.vlc:item
3.3.vlc:id
3.4.vlc:option
3.5.VLC拡張をともなうXSPFのサンプル
4.参照
5.安全でない操作

1.サンプル

非常に単純な例は次のようなものです:
*訳注:インデントができず、見難くてすいません。オリジナルページをご覧ください。
<?xml version="1.0" encoding="UTF-8"?>
<playlist version="1" xmlns="http://xspf.org/ns/0/">
<trackList>
<track><location>file:///mp3s/song_1.mp3</location></track>
<track><location>file:///mp3s/song_2.mp3</location></track>
<track><location>file:///mp3s/song_3.mp3</location></track>
</trackList>
</playlist>

2.互換性

XSPFの互換性について知りたい場合は、次に追加してください
https://wiki.videolan.org/index.php?title=XSPF&action=edit

3.VLC拡張

XSPFは特別なデータをアプリケーションに追加できる拡張をサポートしています。この拡張は次の項目にあります:

・playlist
・track

拡張フォーマットはネームスペース xmlns:vlc="http://www.videolan.org/vlc/playlist/ns0/"で規定されています:

<playlist version="1" xmlns="http://xspf.org/ns/0/" xmlns:vlc="http://www.videolan.org/vlc/playlist/ns/0/">
...
<extension application="http://www.videolan.org/vlc/playlist/0">
...
</extension>
</playlist>

現在、拡張は次の要素をサポートします:

・vlc:node
・vlc:item
・vlc:id
・vlc:option

拡張vlx:nodeとvlc:itemはプレイリストのツリーを表示する方法を設定するのに用いられます。それは標準XSPFではサポートされていません。

3.1.vlc:node

この要素はプレイリストのノードとして表示されます。それはプレイリスト・ブロック(playlist/extentionの下)に見ることができます。その名前だけが設定できます:

<vlc:node title="Node title">
[list of vlc:item or vlc:node]
</vlc:node>

3.2.vlc:item

この要素はプレイリストの項目(ノードではなく)を表現します。それはプレイリスト・ブロック(playlist/extentionの下)に見ることができます。それはトラックIDだけを格納します(下記参照、vlc:id):

<vlc:item tid="42" />

3.3.vlc:id

この要素はトラックIDを設定します。トラック・ブロックの拡張(playlist/trackList/track/extensionの下)に見ることができます。

<vlc:id>42</vlc:id>

idの値はvlc:itemの属性tidの値に一致します。それぞれのvlc:idはエントリーごとに異ならなければならないことに注意。そうでないとすべて表示されません。

3.4.vlc:option

この要素で入力項目にオプションを加えることができます。それはトラック・ブロックの拡張(playlist/trackList/track/extensionの下)に見ることができます。

<vlc:option>option-name</vlc:option>

あるいはオプションがひとつの値を持つ場合は:

<vlc:option>option-name=option-value</vlc:option>

3.5.VLC拡張をともなうXSPFのサンプル

サンプルとしてこれらを要約してみます。これはプレイリストの個々のエントリーごとにVLCオプションを付与することを示しています。
*訳注:インデントができず、見難くてすみません。オリジナルのページをご覧ください。

<?xml version="1.0" encoding="UTF-8"?>
<playlist version="1" xmlns="http://xspf.org/ns/0/" xmlns:vlc="http://www.videolan.org/vlc/playlist/ns/0/">
 <title>Playlist</title>
 <location>D:/media/example.xspf</location>
 <trackList>
 <track>
 <title>DVD seconds 42 to 45 muted</title>
 <location>dvd://d:\@1</location>
 <extension application="http://www.videolan.org/vlc/playlist/0">
 <vlc:id>3</vlc:id>
 <vlc:option>start-time=42</vlc:option>
 <vlc:option>stop-time=45</vlc:option>
 <vlc:option>no-audio</vlc:option>
 <vlc:option>some-option=100</vlc:option>
 </extension>
 </track>
 <track>
 <title>DVD seconds 49-55 unmuted (normal)</title>
 <location>dvd://d:\@1</location>
 <extension application="http://www.videolan.org/vlc/playlist/0">
 <vlc:id>4</vlc:id>
 <vlc:option>start-time=49</vlc:option>
 <vlc:option>stop-time=55</vlc:option>
 </extension>
 </track>
 </trackList>
</playlist>

次はプレイリスト内のネストされたエントリーを表示する方法を示すサンプルです:
*訳注:インデントができず、見難くてすみません。オリジナルのページをご覧ください。

<?xml version="1.0" encoding="UTF-8"?>
<playlist version="1" xmlns="http://xspf.org/ns/0/" xmlns:vlc="http://www.videolan.org/vlc/playlist/ns/0/">
 <title>Playlist</title>
 <location>D:/media/example.xspf</location>
 <trackList>
 <track>
 <title>Track 1</title>
...
 <extension application="http://www.videolan.org/vlc/playlist/0">
 <vlc:id>0</vlc:id>
 </extension>

 </track>
 <track>
 <title>Track 2</title>
...
 <extension application="http://www.videolan.org/vlc/playlist/0">
 <vlc:id>1</vlc:id>
 </extension>
 </track>
 <track>
 <title>Track 3</title>
...
 <extension application="http://www.videolan.org/vlc/playlist/0">
 <vlc:id>2</vlc:id>
 </extension>
 </track>
 <track>
 <title>Track 4</title>
 <location>dvd://e:\@1</location>
 <extension application="http://www.videolan.org/vlc/playlist/0">
 <vlc:id>3</vlc:id>
 <vlc:option>my-option=100</vlc:option>
 <vlc:option>start-time=42</vlc:option>
 <vlc:option>stop-time=45</vlc:option>
 <vlc:option>no-audio</vlc:option>
 </extension>
 </track>
 </trackList>
 <extension application="http://www.videolan.org/vlc/playlist/0">
 <vlc:node title="Node 1">
 <vlc:item tid="0" />
 <vlc:item tid="1" />
 <vlc:node title="Node 2">
 <vlc:item tid="2" />
 <vlc:item tid="3" />
 </vlc:node>
 </vlc:node>
 </extension>
</playlist>

このプレイリスト・サンプルは次のように示すことができます:

Playlist
|- Node 1
|---- Track 1
|---- Track 2
------> | Node 2
--------|-- Track 3
--------|-- Track 4

4.参照

Media Library : VLC Media Playerに組み込まれた機能
https://wiki.videolan.org/Media_Library/

フォーマットとしてXMLを使用するのには多くの長所があります。詳細は次で見ることができます

・Xiph.org
http://www.xiph.org/
・XSPF project website.
http://www.xspf.org/quickstart/

5.安全でない操作

ボリュームの設定、sout出力先の設定などの操作はプレイリストでは「危険」と考えられます。そのためその設定はコマンドラインで追加すべきです。エラーメッセージ「unsafe option"sout-audio" has been ignored foor security reasons、のようなエラーメッセージが出るでしょう。

http://forum.videolan.org/viewtopic.php?f=14&t=78945
##########################################

VideoLANドキュメント私訳 (完)
posted by Kose at 20:21| VLC Media Player

VideoLANドキュメント私訳 第八回 変換 - VLCを使った変換についての詳細情報

VideoLANドキュメント ストリーミング関連抜粋私訳
https://wiki.videolan.org/Main_Page/

VLC Media Playerを持ちでないかたは(オープンソース・フリー、各種OS版あり)
VLC Media Player ダウンロード・ページ

VideoLanのwikiドキュメントの内、ストリーミングに関連するドキュメントを翻訳試みました。
数回に分けて掲載します。全部を一度に見る場合は、次のPDFファイルをご覧ください。
VideoLAN-Document-Streaming-How-To-etc.pdf
##########################################
第八回 変換 - VLCを使った変換についての詳細情報

変換 - VLCを使った変換についての詳細情報
https://wiki.videolan.org/Transcode/

変換はビデオ・ファイルを別のフォーマットやビットレートに変更するプロセスです。

VLCの変換は動画を別のフォーマットの新しいファイルにコピーします。そのため、オリジナルと新しいファイルの両方を得ることになります。これはこの追加されるファイルを保存する十分なハードディスクのスペースが必要だということを意味します。また変換が非常に遅くなることがあるため、ある程度高速なコンピュータが必要です。

VLCでは、変換はネットワークではなく、ファイルに保存する場合を除いて、ネットワークでストリームするのと全く同じです。

目次
1.互換性の問題
2.ウィザードを使った変換
3.コマンドラインによる変換
3.1.MSウィンドウズの場合
3.2.完全な非対話的変換
4.キャンバスとパディング
5.非対話的バッチ変換(ウィンドウズ)
5.1.バッチファイル
5.2.VBスクリプト
6.非対話的バッチ変換(Linux)
6.1.非対話的マージ/変換(ウィンドウズ)
6.2.サンプル・スクリプト

1.互換性の問題

入力ストリームがすでに出力ストリームのエンコードと同じなら変換の必要は全くありません(コマンドラインの変換設定をしないだけで、それゆえ変換はしません)。GUIではこれを「オリジナルトラックのままにする」と呼びます(と思う)。
変換設定を決定した場合、あるコンテナー・フォーマット(マルチプレクサ)はいくつかのコーデックだけをサポートすることに注意してくださいーどれが何をサポートするかを調べるにはストリーミング機能の互換性を見てください
streaming feature:
http://www.videolan.org/streaming/features.html
現在のフォーマットが望むマルチプレクサと互換性がない場合、いずれか互換性のあるものに変換するか、異なるマルチプレクサを選ぶかしなければなりません。マルチプレクサと互換性のないストリームを選ぶと、何も反応なく失敗します。エラーのデバグに役立てるためメッセージ・ウィンドウのエラーメッセージを調べることができます。

2.ウィザードを使った変換

VLCには変換とストリーミングのウィザードがあります。ファイルを変換するためには、変換オプションを選択するだけす。変換するフォーマットを尋ねられたら、ビデオ・コーデック、オーディオ・コーデック、コンテナー・フォーマットを指定できます。

3.コマンドプロンプトによる変換

VLCを使ったより柔軟な変換方法は、VLCを起動するためコマンド・プロンプトを使うことです。変換はストリーミングと同じ作業をします。例えば、次のコマンドはasfファイルをMPEG-2ファイルに変更します:

vlc "C:\Movies\Your File.asf" :sout='#transcode{vcodec=mp2v,vb=4096,acodec=mp2a,ab=192,scale=1,channels=2,deinterlace,audio-sync}:std{access=file, mux=ps,dst="C:\Movies\Your File Output.ps.mpg"}'

access=fileはファイルに(ストリームではなく)出力を保存するようVLCに支持し、dstは新しい(出力)ファイルの場所です。
注1:MAC OS Xの場合、BUSエラーを回避するためVLCの代わりにclivlcを使うべきです。
注2:古いVLC(0.8.6以前)では"dst"の代わりに"url"を使ってください。

変換にはしばらく時間がかかります。そのため、最初の30秒だけエンコードするよう --stop-time=30 のようなオプションを使うのが望ましい。これはファイルが正しく変換されたことをチェックできること、また出力が適切な質であるかをチェックできることを意味します(注:Mac OS Xでは、この方法は有効でないようです。少し経ったら、VLCはすでに変換された部分を適切に書き出します)。
変換文にはビデオ・コーデックとacodecを変更するためvcodecとvbが、オーディオ・コーデックを変更するためabを挿入することができます。vcodecがない場合ビデオ・コーデックは同じままになります(acodecと同じ)。
利用できる共通の追加オプションには(確実にオーディオを正確に同期させるための)audio-syncと(インターレースビデオの質をわずかに高める)deinterlaceがあります。

3.1.MSウィンドウズの場合

ウィンドウズのシンタックスはわずかな違いがあります:

C:\Program Files\VideoLAN\VLC>vlc -vvv "D:\688497.flv" --sout=#transcode{vcodec=mp4v,acodec=mpga,vb=800,ab=128,deinterlace}:standard{access=file,mux=ts,dst="D:\asd.mpg"}

(注:おそらく0.8.6以前の古いVLCは"dst"の代わりに"url"を使用します)

(注:コマンドラインの解釈のため、場合により、特にシングルクオーテーション''とダブルクオーテーション""のブロック内で、バックスラッシュ\ダブルバックスラッシュを使ってエスケープしなければならないでしょう。そのためファイル名は D:\\path\\to\\file.mpgとなります)

3.2.完全な非対話的変換

完全な非対話的変換のためには(Mac OS Xで行う場合必要なケース)、上記のサンプルは次のように書き換えます

vlc -I dummy "C:\Movies\Your File.asf" :sout='#transcode{vcodec=mp2v,vb=4096,acodec=mp2a,ab=192,scale=1,channels=2,deinterlace,audio-sync}:std{access=file, mux=ps,dst="C:\Movies\Your File Output.ps.mpg"}' vlc://quit

ふたつの追加のオプションは

-I dummy
Disables the graphical interface
vlc://quit
Quit VLC after transcoding

DVDから変換する場合、DVDのメニューシステムの対話画面を避けるため、dvd:// の表記の代わりに、dvdsimple:// の表記を使用する必要もあります。ディスクを開くとき、'no DVD menus'オプションを選んでGUIでこれを使用することができます。

ウィンドウズで、"-I dummy"オプションは'vbv buffer overflow'のエラーメッセージがコマンドプロンプトに出力される場合、テキスト・インターフェースを開く代わりに、"-I rc"を試すことができますが、ウィンドウズではダミーがすることを正確にします。

詳細はVideoLAN's Official Documentationを参照
http://www.videolan.org/doc/streaming-howto/en/ch03.html

4.キャンバスとパディング

キャンバスとパディング・オプションはバージョン0.9.*以降変更されましたt。wikiのほとんどのサンプルは通用しません。

transcode{vcodec=mp2v,vfilter=canvas{width=640,height=480}}

他のオプション:
・aspect=4:3 : Aspect ratio
・padd:
 ・true: Pad with black bars
 ・false: crop video

transcode{vcodec=mp2v,vfilter=croppadd{cropttop=20,cropbottom=30,paddleft=100}}

top、left、right、bottomをピクセル単位でカットまたは余白挿入をします。

width、hightパラメーターは使わないでください!vfilter以前に適用すると望まない結果が生じます。

5.非対話的バッチ変換(ウィンドウズ)

(略)
*訳注:インデントができないため、原文をご覧ください

6.非対話的バッチ変換(Linux)

対話画面を使わずにいくつかのファイルを変換するためには、ファイルがあるフォルダーにバッチスクリプトを作り次のbashスクリプトにつぎのコマンドを加えます:
*訳注:テストはしていません。

#!/bin/bash
vcodec="VIDEO_CODEC"
acodec="AUDIO_CODEC"
bitrate="VIDEO_BITRATE"
arate="AUDIO_BITRATE"
ext="OUTPUT_EXT"
mux="MUXER"
vlc="PATH_TO_VLC"
fmt="INPUT_EXT"

for a in *$fmt; do
$vlc -I dummy -vvv "$a" --sout "#transcode{vcodec=$vcodec,vb=$bitrate,acodec=$acodec,ab=$arate,channels=6}:standard{mux=$mux,dst=\"$a.$ext\",access=file}" vlc://quit
done

6.1.非対話的マージ/変換(ウィンドウズ)

How_to_Merge_and_Transcode_Multiple_Videosを参照:
https://wiki.videolan.org/How_to_Merge_and_Transcode_Multiple_Videos/

6.2.サンプル・スクリプト

(略)
posted by Kose at 20:17| VLC Media Player

VideoLANドキュメント私訳 第七回 ストリーミングの上級サンプル

VideoLANドキュメント ストリーミング関連抜粋私訳
https://wiki.videolan.org/Main_Page/

VLC Media Playerを持ちでないかたは(オープンソース・フリー、各種OS版あり)
VLC Media Player ダウンロード・ページ

VideoLanのwikiドキュメントの内、ストリーミングに関連するドキュメントを翻訳試みました。
数回に分けて掲載します。全部を一度に見る場合は、次のPDFファイルをご覧ください。
VideoLAN-Document-Streaming-How-To-etc.pdf
#########################################
第七回 ストリーミングの上級サンプル、マルチ・ファイル・ストリーミング、ストリーミングでのマルチキャストの使用

ストリーミングの上級サンプル、マルチ・ファイル・ストリーミング、ストリーミングでのマルチキャストの使用
Advanced streaming with samples, multiple files streaming, using multicast in streaming
Documentation:Streaming HowTo/Advanced streaming with samples, multiple files streaming, using multicast in streaming

著者:wwwital

このドキュメントはVideoLANを使用してストリーム、マルチ・ファイル・ストリーム、マルチキャストなどの方法をサンプルとともに説明します。

目次
1.UDPストリーミングのサンプル
2.マルチキャストRTPストリーミングのサンプル
3.マルチファイルでのマルチキャストRTPストリーミング、サンプル付き
4.特別なマルチファイル記述の設定ファイル

1.UDPストリーミングのサンプル

標準的なUDPストリーミング

% vlc -vvv file:////home/vlc/2007.avi --sout #std{access=udp,mux=ts,dst=:1234}'

難しい点はありません。ファイル2007.aviファイルを、/home/vlc/から、udpポート1234にストリーミングします。

2.マルチキャストRTPストリーミングのサンプル

% vlc -vvv file:////home/vlc/Jumper.avi --sout '#rtp{access=udp,mux=ts,dst=224.255.1.1,port=1234,sap,group="Video",name=Jumper Movie"}' :sout-all

難しいですか?そんなことはありません。これはすでに見たキーのファイルです。UDPのサンプルと同じく、キー --soutは出力を始めます。次いでRTPで、accessのタイプはudp、muxser(マルチプレクサ)のタイプはtsに設定します。そして出力先(dst)としてマルチキャストIPアドレス224.255.1.1、ポート1234を指定します。そしていくつかのキーがあります。VLCはSAP(service advertisements protocolを見よ)を使って、このストリームの告知をし、ストリーミンググループに「Video」と設定し、このストリームに「Jumper Movie」と名づけます。

3.マルチファイルでのマルチキャストRTPストリーミング、サンプル付き

注意:これを始めると停止できません。
わたしは数時間かけてこの解決策を見つけました。

% vlc -vvv --color -I telnet --telnet-password "i_dont_know_this_password" --vlm-conf=/home/vlc/vlc.streaming.conf

VLCはキー --colorで出力をカラー化しなくてはなりません。telnetサーバーを開きます。われわれは本当にそれをコントロールしなくてはならないのでしょうか?これが -I tenetキーです。コンソールにアクセスするため"i_dont_know_this_password"を設定します。標準telnetポート4212を使用します。変える必要がある場合は --telnet-port xxxを使います。VLCが複数のファイルを記述した特別なファイルをスタート時に開くよう指示するのに --vlm-conf=/home/vlc/vlc.streaming.confを使います。

4.特別なマルチファイル記述の設定ファイル

・vlc.streaming.conf

この設定ファイルを使用して、2007.aviとJumper.aviの2つのビデオをストリームします。これを行うためには、2つのチャンネルを記述しなければなりません。channel1とchannel2が入力と出力のフォーマットを設定します(これをマルチキャストします):
-------------------
new channel1 broadcast enabled
setup channel1 input file:////home/vlc/2007.avi loop
setup channel1 output #rtp{access=udp,mux=ts,dst=224.255.1.1,port=1234,sdp=sap,sap,group="Video",name="2007 Movie"}
-------------------
new channel2 broadcast enabled
setup channel2 input file:////home/vlc/Jumper.avi loop
setup channel2 output #rtp{access=udp,mux=ts,dst=224.255.1.2,port=1234,sdp=sap,sap,group="Video",name="Jumper Movie"}
-------------------
control channel1 play
control channel2 play
-------------------
posted by Kose at 20:15| VLC Media Player

VideoLANドキュメント私訳 第六回 ストリーミング・ハウツー(4)コマンドラインを使用する上級ストリーミング

VideoLANドキュメント ストリーミング関連抜粋私訳
https://wiki.videolan.org/Main_Page/

VLC Media Playerを持ちでないかたは(オープンソース・フリー、各種OS版あり)
VLC Media Player ダウンロード・ページ

VideoLanのwikiドキュメントの内、ストリーミングに関連するドキュメントを翻訳試みました。
数回に分けて掲載します。全部を一度に見る場合は、次のPDFファイルをご覧ください。
VideoLAN-Document-Streaming-How-To-etc.pdf
##########################################
第六回 ストリーミング・ハウツー(4)コマンドラインを使用する上級ストリーミング

コマンドラインを使用する上級ストリーミング
https://wiki.videolan.org/Documentation:Streaming_HowTo/Advanced_Streaming_Using_the_Command_Line/

目次
1.ストリーム出力の構造
2.モジュールの記述
2.1.標準(alias std)
2.1.1.accsess
2.1.2.mux
2.1.3.dst
2.1.4.sap
2.1.5.group
2.1.6.sap-ipv6
2.1.7.slp
2.1.8.name
2.2.ディスプレイ
2.2.1.display
2.2.2.noaudio
2.2.3.delay
2.3.rtp
2.3.1.dst
2.3.2.pot
2.3.3.pot-video
2.3.4.pot-audio
2.3.5.sdp
2.3.6.ttl
2.3.7.mux
2.3.8.rtcp-mux
2.3.9.proto=
2.3.10.name
2.3.11.description
2.3.12.url
2.3.13.email
2.4.es
2.4.1.access-video
2.4.2.access-audio
2.4.3.access
2.4.4.mux-video
2.4.5.mux-audio
2.4.6.mux
2.4.7.dst-video
2.4.8.dst-audio
2.4.9dst
2.5.変換
2.5.1.vcodec
2.5.2.vb
2.5.3.venc
2.5.4.fps
2.5.5.deinterlace
2.5.6.croptop
2.5.7.cropbottom
2.5.8.cropleft
2.5.9.cropright
2.5.10.scale
2.5.11.width
2.5.12height
2.5.13.acodec
2.5.14.ab
2.5.15.aenc
2.5.16.samplerate
2.5.17.channels
2.5.18.scodec
2.5.19.senc
2.5.20.soverlay
2.5.21.sfilter
2.5.22.threads
2.5.23.audio-sync
2.5.24.vfilter
2.6.duplicate
2.6.1.dst
2.6.2.select
2.7.その他
2.8.単純なシンタックス
3.サンプル

1.ストリーム出力の構造

ストリーム出力はVLCが読み込んだどんなストリームもそれを表示する代わりに、ファイルやネットワークストリームに出力できるVLCの機能の名前です。様々な処理がこのプロセスの間、ストリームに適用することができます(変換、リサイズ、フィルター、再マルチプレクサなど)。ストリーム出力は様々なモジュールがあり、それぞれが様々な能力をもっています。可能性を高めるため、モジュールのチェーンを作ることができます。

・標準 出力モジュールへのアクセスを通じてストリームを送ることができます:例えば、UDP、ファイル、HTTPなど。チェーンの最後にこのモジュールを使うでしょう。

・変換 インプットストリームのオーディオとビデオを変換(異なるコーデックやビットレートを使ってストリームをデコードしたり、再エンコード)するのに使います。インプットやアウトプットのアクセス方法はペース・コントロール(ネットワーク、キャプチャー・デバイス)を認めていないなら、リアルタイムで「急いで」行われる。これはパラメーターのセットに依存して、多くのCPUのパワーを必要とする。ファイルやディスクのような他のストリームはシステムが許す限り早く変換されます。

・デュプリケート ストリームが独立の方法で扱われる第二のチェーンを作ることができるようにします。

・ディスプレイ VLCが通常行うようにインプット・ストリームを表示させます。デュープリケート・モジュールと共に使うことで処理中のストリームをモニターすることができます。

・rtp RTP(それぞれの要素ストリームにひとつずつポートを割り振る)でストリームします。このモジュールはRTSPをサポートします。

・es インプット・ストリームから要素ストリーム(ES:Elementary Streams)を分離できるようにします。これは例えば、オーディオとビデオのストリームを別のファイルに保存するのに用いることができます。

・bridge-out 執筆予定
・bridge-in 執筆予定
・mosaic-bridge 執筆予定

それぞれのモジュールにはオプションがあります。次のようなシンタックスに従わなくてはなりません:

% vlc input_stream --sout "#module1{option1=parameter1{parameter-option1},option2=parameter2}:module2{option1=...,option2=...}:..."

注:いくつかのモジュール・オプション(例の中のoption1)は設定しなくてはなりませんが、他は任意です。
オプションのパラメーター(例の中のparameta-option1)は常に任意です。これらのオプション・パラメーターもまたしばしば上級の設定です。それらの記述を理解できない場合は、おそらくそれは必要ではないことを意味します。

次のようなシンタックスを使うこともできます:

% vlc input_stream --sout-module1-option1=... --sout-module1-option2=... --sout-module2-option1=... --sout-module2-option2=... ...

例えば、ストリームを変換し、それを送信する場合は次のとおりです:

% vlc input_stream --sout '#transcode{options}:standard{options}'


2.モジュールの記述

現在利用可能なモジュールのリストです:

2.1.スタンダード(alias std)

このモジュールは、マルチプレクサ(信号の複数の要素をカプセル化)したあと、ストリームをファイルに保存するか、ネットワークに送ります。

利用可能なオプション:

2.1.1.標準(alias std) - accsess

このオプションはストリームを保存するか送信するのに用いられるメディアを設定します。これは必須のオプションです。利用可能なオプションは:

・file:ストリームをファイルに保存する

apendオプションは、ファイルを置き換える代わりに、既存のファイルにストリームを付加するのに用います:

 standard{ ... ,access=file{append}, ... }

・udp: UDPユニキャストまたはマルチキャスト・アドレスにストリームする

アイテムのオプションは:

・・caching=< time in ms> :送信する前にVLCがデータをバッファーする時間をセットします;
 ・ ttl=< ttl> :送信するudpパケットのttlを設定します;
 ・ group=< amount of packets> :ひとつひとつではなく一気にパケットを送信します;
 ・ late=< time in ms> このチェーンの段階で到着が遅すぎるパケットを落とします;
 ・ raw :パケットを送信する前にMTUが満杯になるまで待てない場合;

・http: streams over HTTP.

アイテムのオプション:

・・ user=< user name> HTTPベーシック認証を可能にし、ユーザーを設定します;
 ・ pwd=< password> ベーシック認証のパスワードを設定します;
 ・ mime=< mime type> サーバー返すMIMEタイプを設定します;

・・ https: セキュアなSSLコネクションを使ってHTTPでストリームします。

アイテムのオプションはHTTPと同じでそれと:
・・ cert=< path to certificate>  使用するための認証を設定します;
 ・ key=< path to key> サーバーがSSL接続のため使うプライベートのキー・ファイルを設定します;
 ・ ca=< path to certificate> SSLのため使用するルートのCA認証へのパスを設定します;
 ・ crl=< path to certificate> SSL接続のため使用する取り消し認証を設定します。

・・mmsh: マイクロソフトMMSプロトコルを使用するストリーム。このプロトコルは多くのマイクロソフトのソフトウェアによる転送方法として用いられます。

MMSプロトコルの僅かな部分しかサポートされないことに注意(HTTPでカプセル化されるMMS)。アイテムのオプションはHTTPモジュールと同じです。

・・rtp: RTPによるストリーム。これはプレーンのRTPを通じてMPEG-TSをストリームする場合にだけ使うことができます。

このオプションのサポートはVLC0.9.0以降削除されました。その代わりrtpストリームモジュールを使用しなくてはなりません。オプションはudo設定と同じです。

2.1.2.標準(alias std) - mux(マルチプレクサ)

このオプションで、ストリームするため使用されるカプセル化の方法を設定します。これは設定しなければなりません。

利用可能なオプションは次のとおりです:

・ts: MPEG2/TSマルチプレクサ。これはMPEG-2をストリームする時用いられる標準的なマルチプレクサです。このマルチプレクサはどのアクセス方法でも利用できます。サポートされるコーデックは、MPEG1/2/4。MJPEG、H264、WMV 1/2 & theora for video、MPEG audio、AAC & a52 for audio stream。

アイテムのオプションは:
・・ pid-video=< pid> ビデオ・トラックのPIDを設定する;
 ・ pid-audio=< pid> オーディオトラックのPIDを設定する;
 ・ pid-spu=< pid> 字幕トラックのPIDを設定する;
 ・ pid-pmt=< pid> PMT(プログラム・マップ・テーブル)のPIDを設定する;
 ・ tsid=< id> 出力したTSストリームのIDを設定する;
 ・ shaping=< shaping delay in ms> 様々なビットレートのためストリームのビットレートを維持する最小のインターバルを設定する;
 ・ use-key-frames シェイピング・インターバルの制限としてIフレームを使用する
 ・ pcr=< PCR interval in ms> どのインターバルでプログラム・クロック・リファレンスを送信するか設定することができる;
 ・ dts-delay=< delay in ms> 所与の時点からDTSからPTS(プレゼンテーション・タイム・スタンプ)を遅らせることができます;
 ・ crypt-audio CSAアルゴリズムを使ってオーディオの暗号化を可能にすることができます;
 ・ csa-ck=< key as a 16 character word> CSA暗号化のため使うキーを設定することができます。

・ ps: the MPEG2/PS マルチプレクサ. これはMPEG 2ファイル(.mpg)標準マルチプレクサです。これはファイルとHTTP出力方法を使用できます。サポートするコーデックはMPEG 1/2、MJPEG&MJPEG for VIDEO、MPEG audio&a52 for audio streamsです。

使用できるオプションはつぎだけです:

・・dst-delay=< delay in ms> : これは所与の時間のDTS(デコード・タイム・スタンプ)からPTS(プレゼンテイション・タイム・スタンプ)に遅らせることができます。

・mpeg1: 標準的なMPEG 1 マルチプレクサ。このマルチプレクサは、ファイルを保存するか、HTTPでストリームした時、MPEG 1ビデオストリームでpsの代わりに用いられるこのマルチプレクサを使います。サポートするコーデックはMPEG 1とMPEG audioです。

アイテムのオプションはPSマルチプレクサと同じです。
・ogg: oggマルチプレクサ。これはXiphプロジェクトに由来するマルチプレクサです。HTTPとファイル出力方法と共に使うことができます。サポートするコーデックはMPEG 1/2/4、MJPEG WMV 1/2&Theoraです。オーディオストリームにはvorbis、flac、speex、a52、MPEG audioが使えます。

このマルチプレクサにはアイテム・オプションはありません。

・asf: マイクロソフトASFマルチプレクサ。これはマイクロソフトのソフトウェアがストリーミングで使う標準的なマルチプレクサです。またWMAオーディオ・ファイルのコンテナーとして使われます。このマルチプレクサはファイルでもHTTPアウトプット方法でも使うことができます、サポートするコーデックはMPEG4、MJPEG、WMV 1/2 for VIDEO、MPEG audio、a52 for audio streamです。

アイテムのオプションは:
・・ title=< title> ;
 ・ autor=< author> ;
 ・ copyright=< copyright message> ;
 ・ comment=< comments> ;
 ・ rating=< rating> これは何がストリーム・コンテンツの一致するフィールドで表示されるかを設定することができます;
 ・ asfh: これはASFマルチプレクサの特殊なバージョンでMMSHのため用いられます。MMSHは出力方法だけサポートします。サポートするコーデックはASFと同じです。アイテムのオプションはASFと同じです。
・avi: マイクロソフトAVIマルチプレクサ。これはMPEG 4ファイルの非常に普及したカプセル化フォーマットです。サポートするアウトプット方法はファイルだけです。サポートするコーデックはMPEG 1/2/4、H263、H264&I263 for video、MPEG audioとa52 for audio streamです。このマルチプレクサにはアイテムオプションがありません。注:VLCのAVIマルチプレクサは壊れたファイルしかできないと知られています。
・mpjpeg:マルチパートjpegマルチプレクサー。
このカプセル化フォーマットは統合されたウェブ・サーバーとともに監視ビデオ・カメラにほとんど用います。このようなストリームは通常ウェブ・ページに埋め込まれ、jpegの連続イメージとして見ることができるよう、標準的なインターネット・ブラウザで見られます。サポートする出力方法はHTTPだけです。使用できるコーデックはMJPEGだけです。このストリームではサウンドトラックはマルチプレクサできません。このマルチプレクサには利用できるアイテム・オプションはありません。

2.1.3.標準(alias std) - dst

このオプションはストリームが実際保存されるか、送信される場所についての情報を与えることができます。
アクセス・オプションのため使われるパラメーターに依存するのことにdstオプションの意味があります。
・ファイル出力方法が用いられたら、dstはファイルが保存されるパスです。
・udpないしrtp出力方法が用いられたら、dstは、アドレス:ポート形式で、ユニキャストあるいはマルチキャストの出力アドレスと、オプションでUDPポートポートです。
・http、https、mmsh出力方法を選んだ場合、dstは、サーバーがリクエストを受けるローカル・ネットワーク・インターフェースのアドレス、ポート、パスです。アドレスが与えられない場合は、VLCはすべてのネットワーク・インターフェースのリクエストを受けます。このような情報はアドレス:ポート/パスのシンタックスを使って提供されなければなりません。

2.1.4.標準(alias std) - sap

VLCにSAP(Session Announcement Protocl)アナウンスを送るようにしたい場合このオプションを使います。SAPはservice discovery protocolで、サーバーで利用可能なストリームのリストを送る特別なマルチキャストアドレスを使用します。
このプションはudp出力方法とともにしか使用できません。

2.1.5.標準(alias std) - group

このオプションでストリームのグループのオプションの名前をつけることができます。VLCをクライアントとして使う場合、ストリームを分類するのにこのフィールドを使用します。
このオプションはSAPプロトコルのプライベートな拡張機能を使います。VLCではクライアントだけがこのフィールドを読むことができます。
このプションはsapオプションが可能な場合に限り使用することができます。

2.1.6.標準(alias std) - sap-ipv6

SAPアナウンスをIPv4ではなく、IPv6を使って送る場合このオプションを使います。
このオプションはsapオプションが可能な場合に限り使用することができます。

2.1.7.標準(alias std) - slp

SLPはService Location Protocolのことです。これはセッション・アナウンスでSAPの代わりとなるものです。このオプションはそのようなアナウンスを送りたい場合使います。

2.1.8.標準(alias std) - name

このオプションはSAPやSLPアナウンスで送るストリームの名前をつけつために使います。
これはSAPやSLPオプションが利用可能な場合だけ使うことができます。

2.2.ディスプレイ

2.2.1.ディスプレイ - display

このモジュールはストリームを表示するために使うことができます。これは特に保存やストリームの際、ストリームをモニターするため、デュプリケート・チェーンで役に立ちます。

利用可能なオプションは次のとおりです:

2.2.2.ディスプレイ - noaudio

表示されたストリームでオーディオをオフにするためこのオプションを使うことができます。

2.2.3.ディスプレイ - delay

ストリームの表示でディレイを導入するためこのオプションを使うことができます。ディレイは分秒で使われなくてはなりません。

2.3.rtp

このモジュールはRTP(Real Time Protocol)プロトコル(RFC3550を見よ)を使うストリームを送信するため使うことができます。
このモジュールでRTSPが利用可能ですが、ビデオ・オン・デマンドはできません。この点についてはVLMモジュールの記述をご覧ください。

様々な利用可能なオプションが次の通りあります:

2.3.1.rtp - dst

このオプションは出力するUDPアドレスを指定することができます。これはホストあるいはマルチキャスト・グループのアドレスになります。sdp=rtsp://オプション(次を参照)をつけないなら、このオプションは必須です。sdp=rtsp://オプションの場合、ストリームはRTSPリクエストをするホストに送信されます。

2.3.2.rtp - port

このプションで最初の要素ストリームを送信するのに使うUDPポートを設定することができます。このポートは偶数でなくてはなりません。他のストリームは直接この上の偶数ポートを使ってストリームされます。

2.3.3.rtp - port-video

これで最初のビデオ要素ストリームを送信するのに使用するUDPポートを設定することができます。このポートは偶数でなければなりません。

2.3.4.rtp - port-audio

このオプションで、最初のオーディオ要素ストリームを送信するUDPポートを設定できます。このポートは偶数でなければなりません。

2.3.5.rtp - sdp

このオプションで、ストリームに一致するSDP(Session Desription Protocol)ファイルを利用できるようにする方法を設定できます。オプションは次のとおりです:

・file://< path to the file> , ローカルファイルとしてSDPをエクスポートします。
・http://< local interface IP:port/path> , ファイルをVLCに統合されたHTTPサーバーで使用できるようにします。

注:ローカル・インターフェースIPの引数はオプションです。与えられなければ、VLCはすべての利用できる・インターフェースを使用します。

・rtsp://< local interface IP:port/path> , RTSPプロトコルを使うようにSDPファイルを利用できるようにします。 RFC 2326を参照
https://tools.ietf.org/html/rfc2326

Note: ローカルインターフェースIPはオプションです。与えられなければVLCはすべての利用できるインターフェースで使用できるようにします。

・sap, SAP(Session Announcement Protocol, RFC 2974を参照)を使用してSDPをエクスポートします.
RFC 2974
https://tools.ietf.org/html/rfc2974

2.3.6.rtp - ttl

これで送信したUDPパケットのTTL(Time to Live)を設定するため使用できるようにします。

2.3.7.rtp - mux(マルチプレクサ)

このオプションで、ストリームに送信するのに使用されるカプセル化方法を設定できます。利用できる方法の記述は標準モジュールのマルチプレクサ・オプションを参照してください。

tsだけがRTPストリームで使用可能です。デフォルトでは、各要素ストリームは分離されたRTPメディアとして送信されます。つまりカプセル化は行われません。

2.3.8.rtp - rtcp-mux(rtcp-マルチプレクサ)

このオプションはRTP/RTCPマルチプレクサを可能にします(draft-ietf-avt-rtp-and-rtcp-muxを参照)、すなわちRTPパケットと同じポート番号でRTCPパケットを送受信します。
デフォルトでは、RTCPパケットは隣のポートで送受信されます。

2.3.9.rtp - proto=

これはRTPパケットを運ぶ転送プロトコルを選択します。

とり得る値は次です:
・dccp, 指定されたIPアドレス(dst=)のDCCP接続の入力を受信します
・sctp, 指定されたIPアドレス(dst=)のSCTP接続を受信します(まだ実装されていません)
・tcp, 指定されたIPアドレス(dst=)のTCP接続を受信し、RFC4571 RTPフレーミングを使用します(まだ実装されていません)
・udp, 指定された出力に(ユニキャストかマルチキャストで)UDPパケットを送信します;これがデフォルトの値です
・udplite, 指定された出力に(ユニキャストかマルチキャストで)UDP-Liteパケットを送信します
このオプションはRTPとRTCPパケットの転送プロトコルにUDPの代わりにUDP-Liteを使用します。

2.3.10.rtp - name

このオプションでストリームを受信するクライアントに表示される名前を設定することができます。

2.3.11.rtp - description

このオプションでストリームの付属的記述を与えることができます。

2.3.12.rtp - url

このオプションでストリームに関する付属的な情報とウェブサイトのアドレスを与えることができます。

2.3.13.rtp - email

このオプションでコンタクトのメールアドレスを与えることができます。

2.4.es

esモジュールは、ストリームから異なる要素ストリームを分離し、異なるファイルにそれぞれを保存し、別々の出力に送信するのに用いることができます。

利用できるパラメーターは次のとおりです:

2.4.1.es - access-video
これはビデオ要素ストリームを保存し、あるいは送信するのに用いられるメディを設定するオプションです。可能な値とアイテムのオプションは標準モジュール(上記を参照)のアクセスのプションと同じです。

2.4.2.es - access-audio

このオプションは、オーディオ要素ストリームを保存し、送信するために使用するメディアを設定するのに使います。可能な値とアイテムのオプションは標準モジュール(上記を参照)のアクセス・オプションと同じです。

2.4.3.es - access

このオプションは、同じ設定を共有する場合、access-videoとaccess-audioの代わりに使用できます。

2.4.4.es - mux-video

このオプションはビデオ要素ストリームのため用いられるカプセル化方法を設定するのに使用します。可能な値とアイテムのオプションは、標準モジュール(上記を参照)のマルチプレクサのオプションと同じです。

2.4.5.es - mux-audio

このオプションはオーディオ要素ストリームのため用いられるカプセル化の方法を設定するのに使用します。可能な値とアイテムのオプションは、標準モジュール(上記を参照)のマルチプレクサのオプションと同じです。

2.4.6.es - mux

このオプションは、同じ設定を用いる場合、mux-videoとmux-audioオプションの代わりに使用できます。

2.4.7.es - dst-video

このプションはビデオ要素ストリームが保存、送信、あるいは利用可能にする場所を設定しするため使用します。このオプションの正確な意味はaccess-videoの値に依存し、標準モジュール(上記を参照)のurlオプションの場合と同じです。

注:urlフィールドで文字列%nを使用すれば、VLCはそれをオーディオかビデオトラックとみなされる数で置き換えます。文字列%cはトラックのコーデックの名前(FOURCC)で置き換えます。%aはアクセス出力に、%mはマルチプレクサに用いられます。

2.4.8.es - dst-audio

このオプションはオーディオ要素ストリームを保存、送信、あるいは利用可能にする場所を設定します。このオプションの正確な意味はaccess-audioオプションの値に依存し、標準モジュール(上記を参照)のurlオプションの場合と同じです。

注:文字れる%nをurlフィールドで使用すれば、VLCはそれをオーディオ化ビデオ・トラックとみなされる数で置き換えます。文字列%cはトラックのコーデックの名前(FOURCC)で置き換えます。%aはアクセスアウトプットに、%mはマルチプレクサに用いられます。

2.4.9.es - dst

このオプションは、同じ設定を共有する場合、dst-videoとdstaudioオプションの両方の代わりに用いることができます。

2.5.変換

ストリームを変換するため、つまりコーデックを変更したり、ビットレートをエンコードするためこのモジュールを使用することができます。リスケール、インターレース解除、リサンプリングなどいくつかの追加的処理がこのプロセスで行うことができます。
注:オリジナル・ストリームと選択したオプションのビットレートに依存して、変換は高い負荷をCPUにかけることがあります。結果的に、リソースが枯渇すると、リアル・タイム変換ストリームのストリーミングはコマ落ちや、場合によっては画質や音質の劣化につながります。

利用可能なオプションは:

2.5.1.変換 - vcodec

このオプションでインプット・ストリームのビデオ・トラックを変換するコーデックを指定することができます。

可能なコーデックのリストはストリーミング機能のページで調べることができます。
streaming feature page:
http://www.videolan.org/streaming/features.html

2.5.2.変換 - vb

このオプションでkbit/sで変換するビデオ・ストリームのビットレートを設定できます。

2.5.3.変換 - venc

これで、ビデオ・ストリームをエンコードするのに使うエンコーダーを設定できます。利用可能なオプションは:

・ffmpeg: これはlibavcodecエンコード・モジュールです。これは非常に多くの様々なコーデックを扱います(リストはストリーミング機能のページで調べることができます)。
this is the libavcodec encoding module. It handles a large variety of different codecs (the list can be found on the streaming features page.

アイテムのオプションは:

・・keyint=< number of frames> 2つのキーフレーム間フレームの最大値を設定します;
 ・hurry-up CPUがエンコード・レートを維持できない場合、エンコーダーがストリームの質を落とすため設定できます;
 ・interlace インターレースのエンコードの質を改善することができます;
 ・noise-reduction=< noise reduction factor> ノイズ低減アルゴリズムを可能にします(画像の細部を犠牲にして必要なビットレートを低減します);
 ・vt=< bitrate tolerance in kbit/s> 出力のビデオ・ストリームのための耐用度を設定できます;
 ・bframes=< amount of frames> 2つのキーフレーム間のBフレームの数を設定します;
 ・qmin=< quantizer> 最小の量子化スケールを設定できます;
 ・qmax=< quantizer> 最大の量子化スケールを設定できます;
 ・qscale=< quantizer scale> VBRエンコードのための固定量子化スケールを設定します;
 ・i-quant-factor=< quantization factor> Pフレームと比較したIフレームの量子化ファクターを設定します;
 ・hq=< quality> モーション・ベクターのエンコードの室のレベルを選択できます(引数はsimple、rd、bitsで、デフォルトはsimpleです*改善お願い*);
 ・strict=< level of compliance> より厳しい標準的規格を矯正することができます(可能な値は-1、0、1です。デフォルトは0です);
 ・strict-rc 厳しいレート・コントロール・アルゴリズムを可能にします;
 ・rc-buffer-size=< size of the buffer in bits> レート・コントロールに使うバッファのサイズを選択できます(より大きければ効果的なレート・コントロールできます);
 ・rc-buffer-aggressivity=< float representing the aggressiveness> レート・コントロールのバッファのaggressivenessを設定できます*改善お願い*;
 ・pre-me プレ・モーション評価を可能にします;
 ・mpeg4-matrix enable use of the MPEG4 MPEG2ストリームとの量子化マトリクス。MPEG2デコーダーとの互換性を維持しながら質を改善します;
 ・trellis enables 格子量子化(質を改善しますが、処理が遅くなります).

・theora: Xiph.org theoraエンコーダー。モジュールはtheoraストリームを作るのに使用されます。theoraは特許フリーで使用料フリーのビデオ・コーデックです。

利用できるアイテム・オプションは次のとおりです:

・・quality=< quality level> . このオプションで、vb設定に上書きするVBRストリームを作ることができます。質のレベルは1と10の間の整数でなければなりません。高いほうが質がよいです。

・x264. x264はフリーでオープンソースのh264エンコーダーです。h264 (あるいはMPEG4-AVC)は全く最近の高画質ビデオコーデックです。

項目のオプションは次のとおりです:

・・keyint=< number of frames> 2つのキーフレーム間のフレームの最大数を設定できます;
 ・idrint=< number of frames> 2つのIDRフレーム間のフレームの最大数を設定できます;
 ・bframes=< amount of frames> IフレームとPフレーム間のBフレームの数を設定できます;
 ・qp=< quantizer parameter> 固定量子化(1から5)を設定することができます;
 ・qp-max=< quantizer parameter> 最大の量子化値を設定できます;
 ・qp-min=< quantizer parameter> 最小の量子化値を設定できます;
 ・cabac CABAC(コンテキスト調整バイナリー数値コーディング)アルゴリズム(遅いが、高品質)を可能にします;
 ・loopfilter デブロッキング・ループ・フィルターを可能にします;
 ・analyse 分析モードを可能にします;
 ・frameref=< amount of frames> 予測に用いられる事前のフレーム数を設定できます;
 ・scenecut=< sensibility> 能動的に、場面転換で、追加のIフレームをエンコーダーが挿入する方法をコントロールできます;

2.5.4.変換 - fps

このオプションで一秒あたりのフレーム数で変換されるビデオのフレーム率を設定し、ビデオのフレームレートを低減してビットレートを減らすことができます。

2.5.5.変換 - deinterlace

このオプションでエンコーディングの前にインターレースのあるビデオストリームからインタレースを取り除くことができます。

2.5.6.変換 - croptop

このオプションで変換中、元のビデオの上部を切り取ることができます。引数は切り取るビデオの行数です。

2.5.7.変換 - cropbottom

このオプションで元のビデオの下部を切り取ることができます。引数は切り取る最初のラインのY調整です。

2.5.8.変換 - cropleft

このオプションで変換中の元のビデオの左側を切り取ることができます。引数は切り取るビデオの列数です。

2.5.9.変換 - cropright

このオプションで、元のビデオの左側を切る取ることができます。引数は切り取る最初の列のX調整です。

2.5.10.変換 - scale

このオプションは変換中ビデオをリスケールする比率を設定できます。このオプションはストリームのビットレートを低減するのに特に有効になることができます。

2.5.11.変換 - width

このオプションでピクセル単位で変換されるビデオの幅を設定することができます。

2.5.12.変換 - height

このオプションでピクセル単位で変換するビデオの高さを設定することができます。

2.5.13.変換 - acodec

このオプションは変換する入力ストリームのオーディオ・トラックのコーデックを設定します。
利用可能なコーデックのリストはストリーミング機能のページで調べることができます。
streaming features page:
http://www.videolan.org/streaming/features.html

2.5.14.変換 - ab

このオプションでkbit/s単位で変換するオーディオストリームのビットレートを設定できます。

2.5.15.変換 - aenc

これで、オーディオ・ストリームをエンコードするのに用いるエンコーダーを設定できます。利用可能なオプションは次のとおりです:

・ffmpeg: これはlibavcodecエンコード・モジュールです。大変幅広いさまざまなコーデックを扱います(そのリストはストリーミング機能のページで調べることができます)。
streaming features page:
http://www.videolan.org/streaming/features.html
・vorbis. このモジュールはXiph.orgプロジェクトのvorbisエンコーダーを使用します。vorbisは無料でオープンソースのライセンスフリーの非可逆オーディオコーデックです。

アイテムのオプションは次のとおりです:

・・quality=< quality level> デフォルトのCBR(固定ビットレート)でエンコードする代わりにVBR(可変ビットレート)を使うことができ、そして

音質レベル(1から10、高いほうが高音質)を設定します:

・・max-bitrate=< bitrate in kbit/s> vbrエンコードの最大ビットレートを設定できます;
 ・min-bitrate=< bitrate in kbit/s> vbrエンコードの最小ビットレートを設定できます;
 ・cbr cbrエンコードを強制します。
 ・speex. これでXiph.orgのsoeexエンコーダーを使用します。Speexは非可逆オーディオ・コーデックで、非常に低いビットレート(約10kbit/s)、特にビデオ会議に最適です。

2.5.16.変換 - samplerate

このオプションでHz単位で変換するオーディオ・ストリームのサンプルレートを設定できます。サンプルレートの低減は、出力するオーディオ・ストリームのビットレートを小さくする方法となります。

2.5.17.変換 - channels

このオプションで、出力するオーディオ・ストリームのチャンネル数を設定できます。これは2チャンネル以上をサポートしない低ビットレートのオーディオ・ストリームのコーデックに役立ちます。

2.5.18.変換 - scodec

このオプションで、変換する入力ストリームの字幕トラックのフォーマットを設定します。
利用可能なコーデックのリストはストリーミング機能のページで調べることができます。
streaming features page:
http://www.videolan.org/streaming/features.html

2.5.19.変換 - senc

これで、字幕ストリームをエンコードするのに使うコンバーターを設定します。
現在われわれが使用できる字幕エンコーダーはdvdsubだけです。

2.5.20.変換 - soverlay

このオプションで変換中、ビデオに直接字幕をレンダリングできます。字幕の変換とそのストリームを行うsenc/scodeとこのオプションを混同しないでください。

2.5.21.変換 - sfilter

このオプションでビデオの上に、いわゆる字幕フィルター(すなわち、ロゴ、テキスト文章など)で生成される画像をレンダリングすることができます。
利用可能な字幕フィルターのリストは[http://www.videolan.org/streaming/features.html のストリーミング機能のページ]で調べることができます(改善希望?)。 このモジュールのアイテムのぷしょんはつぎのコマンドを使って端末で調べることができます:

% vlc -p --advanced < module name>

2.5.22.変換 - threads

このオプションで、ストリーミングをエンコードするのに使うスレッド数を設定できます。コンピュータのプロセッサー数に合わせることで(あるいはIntel P4 HTプロセッサーではこの数を倍にして)、変換のパフォーマンスを改善できます。

2.5.23.変換 - audio-sync

このオプションが可能な場合、VLCはオーディオ・トラックにビデオトラックを同期するためビデオ・フレームを落としたり、重複させたりします。

2.5.24.transcode - vfilter

変換処理中、ビデオフィルターを使用します。vfilterのパラメーターはVLCフィルターの上級使用で調べることができます。
Advanced Use of VLC Filters:
http://wiki.videolan.org/Documentation:Play_HowTo/Advanced_Use_of_VLC#Filters

使用例

vlc input_file --sout="#transcode{vfilter=adjust{gamma=1.5},vcodec=theo,vb=2000,scale=0.67,acodec=vorb,ab=128,channels=2}:standard{access=file,mux=ogg,dst="output_file.ogg"}"

これは"input_file"のガンマを1.5に調整し、ビデオサイズ(解像度)を0.67にリサイズし(例えば1080x720を720x480に)、ビットレート2000k/sでTheoraコーデックを使いビデオを、128kb/sでVorbisコーデックを使ってコンバートし、Oggコンテナーにビデオとオーディオをカプセル化し、”output_file.ogg"に保存します。

2.6.デュプリケート

このモジュールはストリームを重複させるのに使うことができ、いくつかの異なるチェーンで処理するように出来ます。
利用可能なオプションは次のとおりです:

2.6.1.デュプリケート - dst

このオプションで、多重化されたストリームを処理するためのチェーンを作ります。

注:dstオプションはストリームを実際多重化するのと同じ重複ブロックで使用しなければなりません。以前に記述したストリーム出力モジュールのいずれもこのオプションのパラメーターとしても使用できます。

2.6.2.デュプリケート - select

このオプションが全ストリームの一部の要素ストリームだけを多重化するのに使用できます。コンマで区切ることで、いくつかの基準を与えることができます。パラメーターを必要とする基準には、esやprogramのように、criteria=num_start-num_endのシンタックスを使って、範囲を
設定することができます。

利用可能なパラメーターは次のとおりです:

・program=: 選択したプログラム(あるいはSID)に属する要素ストリームだけ多重化します。これはMPEG2/TSストリームの場合だけ有効です。
・noprogram=: 選択したプログラム(あるいはPID)に属する要素ストリームを多重化しません。このオプションはMPEG2/TSストリームの場合だけ有効です。
・es=: 選択したidの要素ストリーム(es)だけ多重化します。
・noes=: 選択したidの要素ストリーム(es)を多重化しません。
・video: ビデオの要素ストリームだけを多重化します。
・novideo: ビデオ要素ストリームを多重化しません。
・audio: オーディオ要素ストリームだけを多重化します。
・noaudio: オーディオ要素ストリームを多重化しません。
・spu: 字幕要素ストリームだけを多重化します。
・nospu: 字幕要素ストリームを多重化しません。

使用例:

#duplicate{dst=std{...},select="program=100-200,novideo"}

この多重化チェーンはPIDが100から200までのプログラムに属する非ビデオ要素ストリームだけを出力します。

2.7.その他

いくつかの追加的汎用オプションは次のとおりです:

・--sout-all, --no-sout-all: すべてのESのストリーミングができるようにします(デフォルトでは不能)。デフォルトでは、(最初の)VLCはひとつのオーディオESとひとつのビデオのストリーミングESだけをストリームします。sout-allを可能にすると、すべてのES(audio、video、SPU)がストリームされます。
・--sout-keep, --no-sout-keep: soutをオープンのままにします(デフォルトでは不能):可能なら、さまざまなプレイリストのアイテムで同じsoutインスタンスを使用します。
・--no-sout-audio: このオプションで、出力されたストリームのオーディオを不能にすることができます。
・--no-sout-video: このオプションで、出力されたストリームのビデオを不能にすることができます。

2.8.単純なシンタックス

ストリーム出力は単純化されたシンタックスを提供します。それで標準モジュールの主要なオプションだけを使用すようにすることができます:

% vlc input_stream --sout access/mux://url

access、mux、urlは標準モジュールのオプションで規定されます。

3.サンプル

VLCのストリーム出力の複雑なシンタックスを完全に理解するには、次節のサンプルを見てください。

posted by Kose at 20:09| VLC Media Player

VideoLANドキュメント私訳 第五回 ストリーミング・ハウツー(4)ファイルをストリームする

VideoLANドキュメント ストリーミング関連抜粋私訳
https://wiki.videolan.org/Main_Page/

VLC Media Playerを持ちでないかたは(オープンソース・フリー、各種OS版あり)
VLC Media Player ダウンロード・ページ

VideoLanのwikiドキュメントの内、ストリーミングに関連するドキュメントを翻訳試みました。
数回に分けて掲載します。全部を一度に見る場合は、次のPDFファイルをご覧ください。
VideoLAN-Document-Streaming-How-To-etc.pdf
##########################################
第五回 ストリーミング・ハウツー(4)ファイルをストリームする

ファイルをストリームする
https://wiki.videolan.org/Documentation:Streaming_HowTo/Stream_a_File/

VLCでファイルをストリームする

% vlc -vvv video1.xyz --sout udp:192.168.0.42 --ttl 12

つまり:
・video1.xyzはストリームをしたいファイルです
・192.168.0.42は次のいずれかです:
 ・ユニキャストをしたいマシーンのIPアドレス;
 ・ユニキャストしたいマシーンのDNSネーム;
 ・マルチキャストIPアドレス
・12はIPパケットのTTL(Time To Live)の値(これはストリームが11のルーターを超えることができるを意味します)。
ファイルを継続的にストリームする場合は、--loopオプションを加えます。
もちろん更にオプションを加えることができます(変換、TCPポートへのストリーミングなど)が、まずこれから始めてください。

*訳注:次は略します。単にオタクっぽいので。機会があれば訳すかもしれません。
Stream a DVD
Stream a DVB Channel
Stream from Encoding Cards and Other Capture Devices
Stream from a DV Camcorder
Streaming a live video feed to Darwin Streaming Server for Mobile Phones
Streaming for the iPhone with live http

posted by Kose at 20:04| VLC Media Player

VideoLANドキュメント私訳 第四回 ストリーミング・ハウツー(3)コマンドラインの例

VideoLANドキュメント ストリーミング関連抜粋私訳
https://wiki.videolan.org/Main_Page/

VLC Media Playerを持ちでないかたは(オープンソース・フリー、各種OS版あり)
VLC Media Player ダウンロード・ページ

VideoLanのwikiドキュメントの内、ストリーミングに関連するドキュメントを翻訳試みました。
数回に分けて掲載します。全部を一度に見る場合は、次のPDFファイルをご覧ください。
VideoLAN-Document-Streaming-How-To-etc.pdf
#############################################
第四回 ストリーミング・ハウツー(3)コマンドラインの例
Documentation:Streaming HowTo/Command Line Examples
コマンドラインの例
https://wiki.videolan.org/Documentation:Streaming_HowTo/Command_Line_Examples/

VLCストリーム出力の上級使用例(変換、マルチストリーミングなど)

目次
1.変換
1.1.より複雑な変換の例
2.マルチ・ストリーミング
3.変換とマルチ・ストリーミング
3.1.より複雑なマルチ−変換の例
4.HTTPストリーミング
5.RTSPライブ・ストリーミング
6.RTSPオンデマンド−ストリーミング
7.ウィンドウズ・メディア・プレーヤーへのMMS/MMSHストリーミング
8.ESモジュールの利用
9.ストリームをオープンのままにする
10.VLCをリフレクターとして使用する

1.変換

128kbps、44100HZで2チャンネルにOgg Vorbisへストリームを変換し、"foobar.ogg"として保存する:

% vlc -I dummy -vvv input_stream --sout
"#transcode{vcodec=none,acodec=vorb,ab=128,channels=2,samplerate=44100}:file{dst=foobar.ogg}"

入力ストリームを変換し、関連するSAPアナウンスと共にマルチキャストIPアドレスに送信する:

% vlc -vvv input_stream --sout
'#transcode{vcodec=mp4v,acodec=mpga,vb=800,ab=128,deinterlace}:
rtp{mux=ts,dst=239.255.12.42,sdp=sap,name="TestStream"}'

インプットストリームを表示し、関連するSAPアナウンスと共にマルチキャストIPアドレスに送信する:

% vlc -vvv input_stream --sout
#duplicate{dst=display,dst="transcode{vcodec=mp4v,acodec=mpga,vb=800,
ab=128,deinterlace}:rtp{mux=ts,dst=239.255.12.42,sdp=sap,name="TestStream"}"}'

入力ストリームを変換し、変換ストリームを表示し、関連するSAPと共にマルチキャストIPアドレスに送信する:

% vlc -vvv input_stream --sout
'#transcode{vcodec=mp4v,acodec=mpga,vb=800,ab=128,deinterlace}:
duplicate{dst=display,dst=rtp{mux=ts,dst=239.255.12.42,sdp=sap,name="TestStream"}}'

クライアントで上記のマルチキャストされた入力ストリームを受信する:

vlc rtp://239.255.12.42

1.1.より複雑な変換の例

SDIカードでキャプチャーした入力をudpでH.264とAACのTSでストリーミングする

% cvlc -vvv --live-caching 2000 decklink://
--decklink-audio-connection embedded --decklink-aspect-ratio 16:9 --decklink-mode hp50
--sout-x264-preset slow --sout-x264-tune film --sout-transcode-threads 8 --no-sout-x264-interlaced
--sout-x264-keyint 50 --sout-x264-lookahead 100 --sout-x264-vbv-maxrate 6000 --sout-x264-vbv-bufsize 6000
--sout '#transcode{vcodec=h264,vb=6000,acodec=mp4a,aenc=fdkaac,ab=256}:std{access=udp,mux=ts,dst=192.168.2.1:1234}'

2.マルチストリーミング

ストリームをマルチキャストIPアドレスとユニキャストIPアドレスに送信する:

vlc -vvv input_stream
--sout '#duplicate{dst=rtp{mux=ts,dst=239.255.12.42,sdp=sap,name="TestStream"},dst=rtp{mux=ts,dst=192.168.1.2}}'

ストリームを表示し、2つのユニキャストIPアドレスに送信する:

vlc -vvv input_stream
--sout '#duplicate{dst=display,dst=rtp{mux=ts,dst=192.168.1.12},dst=rtp{mux=ts,dst=192.168.1.42}}'

マルチ・プログラムのインプット・ストリームの一部を送信する:

vlc -vvv multiple_program_input_stream
--sout'#duplicate{dst=rtp{mux=ts,dst=239.255.12.42},select="program=12345",dst=rtp{mux=ts,dst=239.255.12.43},select="video,program=1234-2345"}'

このコマンドはIDが12345の入力ストリームのプログラムを239.255.12.42に送信し、IDが1234から2345のすべてのプログラムを239.255.12.43に送信する。

3.変換とマルチ・ストリーミング

インプットストリームを変換し、変換されたストリームを表示し、関連するSAPアナウンスと共にマルチキャストIPアドレスとユニキャストIPアドレスに送信する:

% vlc -vvv input_stream --sout
'#transcode{vcodec=mp4v,acodec=mpga,vb=800,ab=128,deinterlace}:
duplicate{dst=display,dst=rtp{mux=ts,dst=239.255.12.42,sdp=sap,name="TestStream"},
dst=rtp{mux=ts,dst=192.168.1.2}}'

入力ストリームを表示し、変換し、2つのユニキャストIPアドレスに送信する:

% vlc -vvv input_stream --sout '#duplicate{dst=display,dst="transcode{vcodec=mp4v,acodec=mpga,vb=800,ab=128}:
duplicate{dst=rtp{mux=ts,dst=192.168.1.2},dst=rtp{mux=ts,dst=192.168.1.12}"}'

入力ストリームをマルチキャストIPアドレスに送信し、変換したストリームを関連するSAPアナウンスと共に別のマルチキャストIPアドレスに送信する:

% vlc -vvv input_stream --sout
'#duplicate{dst=rtp{mux=ts,dst=239.255.1.2,sdp=sap,name="OriginalStream"},
dst="transcode{vcodec=mp4v,acodec=mpga,vb=800,ab=128}:
rtp{mux=ts,dst=239.255.1.3,sdp=sap,name="TranscodedStream"}"}'

3.1.より複雑なマルチ−変換の例

SDI入力カードでキャプチャーした入力をひとつはHD、もうひとつはSDの2つに変換し、両方をudpに送信する。

% cvlc -vv --live-caching 2000
--decklink-audio-connection embedded --decklink-aspect-ratio 16:9 --decklink-mode hp50 decklink://
--sout-x264-preset fast --sout-x264-tune film --sout-transcode-threads 24 --no-sout-x264-interlaced
--sout-x264-keyint 50 --sout-x264-lookahead 100 --sout-x264-vbv-maxrate 4000 --sout-x264-vbv-bufsize 4000
--sout '#duplicate{dst="transcode{vcodec=h264,vb=6000,acodec=mp4a,aenc=fdkaac,ab=256}:std{access=udp,mux=ts,dst=192.168.1.2:4013}",
dst="transcode{height=576,vcodec=h264,vb=2000,acodec=mp4a,aenc=fdkaac,ab=128}:std{access=udp,mux=ts,dst=192.168.1.2:4014}"}'

SDI入力カードでキャプチャーした入力を、無変換で一度再ストリーミングし、二度目は変換する:

% cvlc -vv --live-caching 2000
--decklink-audio-connection embedded --decklink-aspect-ratio 16:9 --decklink-mode hp50 decklink://
--sout-x264-preset fast --sout-x264-tune film --sout-transcode-threads 24 --no-sout-x264-interlaced
--sout-x264-keyint 50 --sout-x264-lookahead 100 --sout-x264-vbv-maxrate 4000 --sout-x264-vbv-bufsize 4000
--sout '#duplicate{dst="transcode{vcodec=h264,vb=6000,acodec=mp4a,aenc=fdkaac,ab=256}:std{access=udp,mux=ts,dst=192.168.1.2:4013}",
dst="std{access=udp,mux=ts,dst=192.168.1.2:4014}"}'

4.HTTPストリーミング

HTTPでストリームする:

 サバー側で次を実行する:

% vlc -vvv input_stream --sout '#standard{access=http,mux=ogg,dst=server.example.org:8080}'

 クライアント側で次を実行する:

% vlc http://server.example.org:8080

変換し、HTTPでストリームする:

% vlc -vvv input_stream --sout '#transcode{vcodec=mp4v,acodec=mpga,vb=800,ab=128}:
standard{access=http,mux=ogg,dst=server.example.org:8080}'

ライブ・ビデオ・ストリームを録画する:

% vlc http://example.com/live.asf --sout="#duplicate{dst=std{access=file,mux=asf,
dst='C:\test\test.asf'},dst=nodisplay}"

例えばHTTPでOgg/Vorbisでオーディオをストリームしたい場合:

% vlc -vvv cdda:/dev/cdrom
--sout '#transcode{acodec=vorb,ab=128}:standard{access=http,mux=ogg,dst=server.example.org:8080}'

5.RTSPライブ・ストリーミング

RTSPとRTPでストリームする:

 サーバー側次を実行する:

vlc -vvv input_stream --sout '#rtp{dst=192.168.0.12,port=1234,sdp=rtsp://server.example.org:8080/test.sdp}'

 クライアント側で次を実行する:

vlc rtsp://server.example.org:8080/test.sdp

6.RTSPオンデマンド−ストリーミング

Documentation:Streaming HowTo/VLMを見よ。
https://wiki.videolan.org/Documentation:Streaming_HowTo/VLM/

7.ウィンドウズ・メディア・プレーヤーへのMMS/MMSHストリーミング

% vlc -vvv input_stream --sout '#transcode{vcodec=DIV3,vb=256,scale=1,acodec=mp3,ab=32,
channels=2}:std{access=mmsh,mux=asfh,dst=:8080}'

VLCメディア・プレーヤーは次のURLを使ってこの接続ができます:mmsh://server_ip_address:8080。ウィンドウズ・メディア・プレーヤーは次のURLを使ってこの接続ができます: mms://server_ip_address:8080.

8.ESモジュールの利用
訳注:ES=elementary Stream、要素ストリームと訳したもの

2つのPSファイルでオーディオとビデオを分離します:

% vlc -vvv input_stream --sout '#es{access=file,mux=ps,url_audio=audio-%c.%m,url_video=video-%c.%m}'

TSファイルに入力ストリームのオーディオトラックを抽出します:

% vlc -vvv input_stream --sout '#es{access_audio=file,mux_audio=ts,url_audio=audio-%c.%m}'

ひとつオーディオトラックとビデオトラックを別々のポートにユニキャストでストリームする(注:これはVLC0.8.6以前でしか有効ではありません。改善お願い):

Stream in unicast the audio track on a port and the video track on another port (NOTE: This will not only work with VLC 0.8.6 or older - FIXME?):

サーバー側:

% vlc -vvv input_stream --sout '#es{access=rtp,mux=ts,url_audio=192.168.1.2:1212,
url_video=192.168.1.2:1213}'

クライアント側:
 オーディオ受信:

% vlc udp://@:1212

 ビデオ受信:

% vlc udp://@:1213

ビデオをマルチキャストし、オーディオをファイルにダンプする:

% vlc -vvv input_stream --sout '#es{access-video=udp,mux-video=ts,dst-video=239.255.12.42,
access-audio=file,mux-audio=ps,dst-audio=audio-%c.%m}'

注:更に複雑な手法を構築するためESモジュールと他のモジュールを結合することもできます。

9.ストリームをオープンのままにする

% % vlc -vvv input_stream -sout-keep
-sout=#transcode{acodec=mp3}:duplicate{dst=display{delay=6000},
dst=gather:std{mux=mpeg1,dst=:8080/stream.mp3,access=http},select="novideo"}

基本的な変換は選択したファイルからMP3ストリームにです(ビデオ・ファイルの場合は、ビデオは無視されます)。HTTPを通じてlocalhost:8080/stream.mp3似ストリームされます。
:sout-keepとdst=gather:stdの結合は、ストリームがオープンのままにされ、継続するアイテムが同じストリームを通じて再生されます。

10.VLCをリフレクターとして使用する

udp入力を受け、一旦ipv6マルチキャストを通じて無変換にレンダリングし、更にHLSにレンダリングします。

% cvlc -vvv udp://@:4013 --ttl 60
--sout '#duplicate{dst=std{access=http,mux=ts,dst=[::]:3013}",
dst=std{access=udp,mux=ts,dst=ffe2::1]:2013},
dst=std{access=livehttp{seglen=5,delsegs=true,numsegs=5,index=/path/to/stream.m3u8,
index-url=http://example.org/stream-########.ts},mux=ts{use-key-frames},dst=/path/to/stream-########.ts}}}

posted by Kose at 20:01| VLC Media Player

VideoLANドキュメント私訳 第三回 ストリーミング・ハウツー(2)メイン他

VideoLANドキュメント ストリーミング関連抜粋私訳
https://wiki.videolan.org/Main_Page/

VLC Media Playerを持ちでないかたは(オープンソース・フリー、各種OS版あり)
VLC Media Player ダウンロード・ページ

VideoLanのwikiドキュメントの内、ストリーミングに関連するドキュメントを翻訳試みました。
数回に分けて掲載します。全部を一度に見る場合は、次のPDFファイルをご覧ください。
VideoLAN-Document-Streaming-How-To-etc.pdf
***********************************
第三回 ストリーミング・ハウツー(2)メイン、VLM、チュートリアルと例、IPv6

2)メイン
・簡易ストリーミング
https://wiki.videolan.org/Documentation:Streaming_HowTo/Easy_Streaming/

 このページは時代遅れです。
 Documentation:Streaming HowTo New#Streaming using the GUI for updated streaming tutorials.
 https://wiki.videolan.org/Documentation:Streaming_HowTo_New/#Streaming_using_the_GUI
 をご覧ください。
(以下略)
--------------------------------------------------------------------------

新版VLCでの簡易ストリーム(未完成)
https://wiki.videolan.org/Documentation:Streaming_HowTo/Easy_Streaming_Newer_Versions/

*訳注:
このページの解説は、現行のVLC 2.*でもほぼ同じですが、GUIページがことなるため、VLC Media Player新バージョン2.1.2で、書き直しました。次を見てください

VLC Media Player 2.1.2 GUIでの簡易ストリーム
http://lunedi.sblo.jp/article/86061309.html

(以下略)
----------------------------------------------------------------------------

3)VLM - マルチプル・ストリーミングとビデオ・オン・デマンド(Multiple Streaming and Video on Demand)
https://wiki.videolan.org/Documentation:Streaming_HowTo/VLM/

*訳注:VLMとはVideoLan Managerの頭文字です。
 インターネットラジオのようなプログラムを組むための方法なので省略します
-----------------------------------------------------------------------------
4)チュートリアルと例

ストリームの受信と保存
https://wiki.videolan.org/Documentation:Streaming_HowTo/Receive_and_Save_a_Stream/

目次
1.VLCでストリームを受信する
1.1.ユニキャスト・ストリームを受信する
1.2.マルチキャスト・ストリームを受信する
1.3.HTP/FTP/MMSストリームを受信する
1.4.RTSPを次通じて利用可能にしたRTPストリームを受信する
1.5.SDPファイルで記述されたストリームを受信する
2.VLCでストリームを保存する
3.セットトップボックスでストリームを受信する

1.VLCでストリームを受信する

1.1.ユニキャスト・ストリームを受信する

% vlc -vvv rtp://

1.2.マルチキャスト・ストリームを受信する

% vlc -vvv rtp://@239.255.12.42

239.255.12.42が受信したいマルチキャストIPアドレスにあたります;

1.3.HTP/FTP/MMSストリームを受信する

次のようにコマンドラインで実行します:

% vlc -vvv http://example/stream.xyz

http://example/stream.xyzがストリームのHTTPアドレスにあたります;

% vlc -vvv ftp://example/stream.xyz

ftp://example/stream.xyzがストリームのFTPアドレスにあたります;

% vlc -vvv mms://viptvr.yacast.fr/encoderfranceinfo

mms://viptvr.yacast.fr/encoderfranceinfoがストリームのMMSアドレスにあたります;

1.4.RTSPを次通じて利用可能にしたRTPストリームを受信する

% vlc -vvv rtsp://www.hardradio.com/tonbeme.mov

rtsp://www.hardradio.com/tonbeme.movがストリームのアドレスにあたります。

1.5.SDPファイルで記述されたストリームを受信する

% vlc -vvv http://server.example.org/stream.sdp

2.VLCでストリームを保存する

VLCはディスクにストリームを保存できます。このため、VLCストリーム出力を使います:グラフィカル・インターフェース(メニュー:メディア→ストリーミング)またはレコードボタンを使うか、コマンドラインに次の引数を加えることでできます:
*訳注:現行版GUIではストリーム表示を右クリック→保存

--sout file/muxer:stream.xyz

・muxer(マルチプレクサ)はVLCストリーム出力がサポートするフォーマットのひとつを示します。すなわち:
 ・ogg : OGG format,
 ・ps : MPEG2-PS format,
 ・ts : MPEG2-TS format.
・stream.xyzはストリーム保存したいファイル名です。正しい拡張子が必要です。

例:

vlc your_input_file_or_stream_here --sout=file/ps:go.mpg

これはより冗長なコマンドを省略したものです

vlc your_input_file_or_stream_here --sout="#std{access=file,mux=ps,dst=go.mpg}"

注意: ストリームのファイルタイプをサポートするマルチプレクサでなければなりません。Transcode#Compatibility_issuesを参照。
https://wiki.videolan.org/Transcode/#Compatibility_issues

レコードボタンを使いレコードするときVLCが使う設定を見るのが便利です。例えば、ログで次のような記述を見つけることができかもしれません:

...: Using record output `std{access=file,mux='ps',dst='C:\vlc-record-2010__E-.mpg'}'

これは現在のストリームをレコードする方法のヒントになります。この場合、 コマンドラインで「--sout"#std{access=file...」に翻訳できるでしょう。

3.セットトップボックスでストリームを受信する

(略) *訳注:PC以外の機器の使用
-------------------------------------------------
5)IPv6
 (略)

posted by Kose at 19:59| VLC Media Player