SlideShare uma empresa Scribd logo
1 de 20
Baixar para ler offline
自由ソフトウェアによる
ライブストリーミング
野首貴嗣
knok@fsij.org
自由なコーデック
● 1990年代末
○ H.323
■ GnomeMeeting/Ekiga
● 2000年代中ごろ
○ Vorbis/Theora (Xiph.org)
■ VLC
■ mplaeyer/mencoder
■ gstreamer
● WebM
不自由なコーデック
● MPEG2
○ mp3
● MPEG4
○ H.264
○ AAC
● FLV
○ On2 VP6
● H.265
コンテナフォーマット
● AVI
● MOV
● OGG
● MKV(Matroska Video)
● FLV (Flash Video)
● MPEG2-TS/PS
● MP4
GUADEC 2004
● Vorbis/Theoraによる初の大規模なストリーミン
グ中継
○ fluendo
■ 自由な中継サーバー実装
■ ライセンスされたプロプラエタリコーデックも販売
Ref:
http://developers.slashdot.org/story/04/06/29/2153229/worlds-first-large-scale-ogg-theora-stream
http://goo.gl/EBOe4C
国内での取り組み
● The 5th International GPLv3 Conference
(2006)
○ http://gplv3.fsij.org/trac.cgi/wiki/Japanese
● Linux Conference 2007
○ http://lc.linux.or.jp/lc2007/
5th GPLv3 Conの場合
● USBカメラ
○ ov511
● gstreamer
○ video4linux
○ コマンドライン直結
● icecast2
Linux Conference 2007の場合
● DVカメラ
○ IEEE1394
○ libieee1394
● gstreamer
○ IEEE1394入力
● peercast
○ P2P配信をサポート
GStreamer(gst-launch)の例
!/bin/sh
gst-launch alsasrc device=plughw:1,0 ! audioconvert ! rawvorbisenc ! 
oggmux name=mux ! 
shout2send ip=127.0.0.1 port=8000 password=xxxx 
streamname=live.ogg description="ukai live" mount=/live.ogg 
{ v4lsrc device=/dev/video0 ! 
video/x-raw-yuv,width=320,height=240 ! 
ffcolorspace ! 
videobalance brightness=0.1 contrast=1.2 ! 
tee name=tee0 ! 
timeoverlay ! 
textoverlay text=" " x0=10 y0=210 font-desc="MS Gothic 18" ! 
theoraenc ! queue ! mux. } 
{ tee0. ! queue ! xvimagesink }
オーディオ入力 Vorbisエンコード
OGGコンテナに格納
Shoutcast
サーバーに
送信
ビデオ入力
Theoraエンコード、OGGコンテナにミキシング
ストリーム分岐
分岐したストリームを Xでプレビュー
gst-launchの流れ
マイク
カメラ
ALSA
V4L
Vorbis
Theora Ogg
Tee X
Shoutcast
Internet
MIX
最近の配信方法
● dvgrab + ffmpeg2theora + oggfwd
○ DV入力
● ffmpeg + oggfwd
○ video4linux, alsa
ffmpeg -s 320x240 -f video4linux2 -i /dev/video0 -b 128k -f alsa -
ac 2 -i hw:0,0 -acodec vorbis -vcodec libtheora -r 25 -f ogg - |.
oggfwd host port pass mount
dvgrab -|ffmpeg2theora - -f dv -v 5.5 -x 320 -y 240 -o - | 
| tee output/output.ogv| 
oggfwd host port pass mount
現在の課題
● 入力デバイス(カメラ)
○ HDMI出力が主流
○ AVCHD(mpeg2)
● 入力インターフェース
○ HDMIキャプチャー
■ USB 3.0でも帯域が厳しい
■ PCI-ExpressはノートPCで使えない
技術課題
● HDMIキャプチャーカードのドライバが少ない
○ 技術開示制限
○ HDCP
■ Hand-bandwidth Digital Content Protection
● IEEE1394の衰退
○ 特許
○ 帯域不足(400/800Mbps)
○ 低解像度 (720x480)
● USBカメラ
○ Universal Video Class
最近の例
● DebConf 13
○ http://meetings-archive.debian.net/pub/debian-
meetings/2013/debconf13/
○ http://goo.gl/nAmMme
● DVカメラ
○ DVswitch
○ http://dvswitch.alioth.debian.org/wiki/
■ 複数入力のミキシングが可能
国内ビデオカメラ市場の変化
● テープ世代
○ mini DVテープ
● 光学メディア世代
○ 8cm DVD-R
○ 8cm BD-R
● ストレージ世代
○ HDD
● フラッシュメモリ世代
○ SD/SDHC/SDXC
インターフェースの変化
● アナログ
○ コンポジット
○ S端子
○ D端子
● デジタル
○ IEEE1394
○ USB
○ HDMI
映像技術と産業
● コンテンツ業界の圧力が強い
○ DRMの推進
■ マクロビジョン
■ HDCP
■ DTCP
■ CSS
■ CPRM
■ AACS
● 個人ユーザーに未来はあるのか
お手軽なプロプライエタリ
● Ustream
○ スマートホンアプリ
■ 通信+録画+中継
● ニコニコ生放送
○ flashによる中継
■ Video4Linux
○ 専用アプリ
■ Windows/Mac
課題
● ハードウェア面での縛りが厳しくなっている
○ ソフトウェア制御部分の増大
○ DRM
○ 高画質化に伴うインターフェースの変化
● 手軽なプロプライエタリ技術
○ 必要な機能がほぼ詰まったスマートフォン
■ 不自由なOS
■ Firefox OS? Taizen?
○ 将来Google/Appleが配信基盤こみで提供する可能性
■ 恣意的な中継中断のリスク
● Ustream ヒューゴー賞事件
http://www.itmedia.co.jp/news/articles/1209/04/news052.html
Makerの権利章典
「中を開けて見られないような製品は所有している
とはいえない。メーカーが制限をかけているようで
は所有したことにはならない。」
出典: Make: Technology on Your Time Volume 03
ISBN:4873113385
● http://archive.makezine.com/04/ownyourown/
● http://ddoridori.tumblr.com/post/27292295371/maker
そのようなハードウェアの出現を望む

Mais conteúdo relacionado

Semelhante a 自由ソフトウェアによるライブストリーミング

ドライバハッキング。UMPC、Windowsタブレット にLinux、*BSDを入れて遊ぼう  2017年度京都版 #osckyoto
ドライバハッキング。UMPC、Windowsタブレット にLinux、*BSDを入れて遊ぼう  2017年度京都版 #osckyotoドライバハッキング。UMPC、Windowsタブレット にLinux、*BSDを入れて遊ぼう  2017年度京都版 #osckyoto
ドライバハッキング。UMPC、Windowsタブレット にLinux、*BSDを入れて遊ぼう  2017年度京都版 #osckyotoNetwalker lab kapper
 
[bladeRF + MATLAB/Simulink] SDRデバイス利用の手引き
[bladeRF + MATLAB/Simulink] SDRデバイス利用の手引き[bladeRF + MATLAB/Simulink] SDRデバイス利用の手引き
[bladeRF + MATLAB/Simulink] SDRデバイス利用の手引きRapidRadioJP
 
Opa - Cloud Language
Opa - Cloud LanguageOpa - Cloud Language
Opa - Cloud LanguageTozo Tanaka
 
ストリーミングのげんざい
ストリーミングのげんざいストリーミングのげんざい
ストリーミングのげんざいTetsuya Morimoto
 
20170421 tensor flowusergroup
20170421 tensor flowusergroup20170421 tensor flowusergroup
20170421 tensor flowusergroupManaMurakami1
 
Zynq MPSoC勉強会 Codec編
Zynq MPSoC勉強会 Codec編Zynq MPSoC勉強会 Codec編
Zynq MPSoC勉強会 Codec編Tetsuya Morizumi
 
GPD-WINや中華ノートPCなどATOM機器に 各種Linuxディストリを入れて遊ぼう Install Linux Distributions on G...
GPD-WINや中華ノートPCなどATOM機器に 各種Linuxディストリを入れて遊ぼう Install Linux Distributions on G...GPD-WINや中華ノートPCなどATOM機器に 各種Linuxディストリを入れて遊ぼう Install Linux Distributions on G...
GPD-WINや中華ノートPCなどATOM機器に 各種Linuxディストリを入れて遊ぼう Install Linux Distributions on G...Netwalker lab kapper
 
Trema day 1
Trema day 1Trema day 1
Trema day 1ykuga
 
NetBSD/evbarm on Raspberry Pi
NetBSD/evbarm on Raspberry PiNetBSD/evbarm on Raspberry Pi
NetBSD/evbarm on Raspberry Pitokudahiroshi
 
My MPEG life: MPEG-2, MPEG-4, H264/AVC and H.265/HEVC
My MPEG life: MPEG-2, MPEG-4, H264/AVC and H.265/HEVCMy MPEG life: MPEG-2, MPEG-4, H264/AVC and H.265/HEVC
My MPEG life: MPEG-2, MPEG-4, H264/AVC and H.265/HEVCOsaka University
 
DockerCon参加報告 (`docker build`が30倍以上速くなる話など)
DockerCon参加報告 (`docker build`が30倍以上速くなる話など)DockerCon参加報告 (`docker build`が30倍以上速くなる話など)
DockerCon参加報告 (`docker build`が30倍以上速くなる話など)Akihiro Suda
 
Container Networking Deep Dive
Container Networking Deep DiveContainer Networking Deep Dive
Container Networking Deep DiveHirofumi Ichihara
 
組込みAndroid入門実習
組込みAndroid入門実習組込みAndroid入門実習
組込みAndroid入門実習ksk sue
 
2014 1018 OSC-Fall Tokyo NETMF
2014 1018 OSC-Fall Tokyo NETMF2014 1018 OSC-Fall Tokyo NETMF
2014 1018 OSC-Fall Tokyo NETMFAtomu Hidaka
 
ワンチップAndroidの紹介(ABC2013s)
ワンチップAndroidの紹介(ABC2013s)ワンチップAndroidの紹介(ABC2013s)
ワンチップAndroidの紹介(ABC2013s)博宣 今村
 
ライブストリーミングの基礎知識
ライブストリーミングの基礎知識ライブストリーミングの基礎知識
ライブストリーミングの基礎知識kumaryu
 

Semelhante a 自由ソフトウェアによるライブストリーミング (20)

ドライバハッキング。UMPC、Windowsタブレット にLinux、*BSDを入れて遊ぼう  2017年度京都版 #osckyoto
ドライバハッキング。UMPC、Windowsタブレット にLinux、*BSDを入れて遊ぼう  2017年度京都版 #osckyotoドライバハッキング。UMPC、Windowsタブレット にLinux、*BSDを入れて遊ぼう  2017年度京都版 #osckyoto
ドライバハッキング。UMPC、Windowsタブレット にLinux、*BSDを入れて遊ぼう  2017年度京都版 #osckyoto
 
[bladeRF + MATLAB/Simulink] SDRデバイス利用の手引き
[bladeRF + MATLAB/Simulink] SDRデバイス利用の手引き[bladeRF + MATLAB/Simulink] SDRデバイス利用の手引き
[bladeRF + MATLAB/Simulink] SDRデバイス利用の手引き
 
Opa - Cloud Language
Opa - Cloud LanguageOpa - Cloud Language
Opa - Cloud Language
 
ストリーミングのげんざい
ストリーミングのげんざいストリーミングのげんざい
ストリーミングのげんざい
 
20170421 tensor flowusergroup
20170421 tensor flowusergroup20170421 tensor flowusergroup
20170421 tensor flowusergroup
 
Zynq MPSoC勉強会 Codec編
Zynq MPSoC勉強会 Codec編Zynq MPSoC勉強会 Codec編
Zynq MPSoC勉強会 Codec編
 
NetBSD/Zynq
NetBSD/ZynqNetBSD/Zynq
NetBSD/Zynq
 
Riscv+fpga200606
Riscv+fpga200606Riscv+fpga200606
Riscv+fpga200606
 
GPD-WINや中華ノートPCなどATOM機器に 各種Linuxディストリを入れて遊ぼう Install Linux Distributions on G...
GPD-WINや中華ノートPCなどATOM機器に 各種Linuxディストリを入れて遊ぼう Install Linux Distributions on G...GPD-WINや中華ノートPCなどATOM機器に 各種Linuxディストリを入れて遊ぼう Install Linux Distributions on G...
GPD-WINや中華ノートPCなどATOM機器に 各種Linuxディストリを入れて遊ぼう Install Linux Distributions on G...
 
Trema day 1
Trema day 1Trema day 1
Trema day 1
 
NetBSD/evbarm on Raspberry Pi
NetBSD/evbarm on Raspberry PiNetBSD/evbarm on Raspberry Pi
NetBSD/evbarm on Raspberry Pi
 
ZynqMP勉強会
ZynqMP勉強会ZynqMP勉強会
ZynqMP勉強会
 
My MPEG life: MPEG-2, MPEG-4, H264/AVC and H.265/HEVC
My MPEG life: MPEG-2, MPEG-4, H264/AVC and H.265/HEVCMy MPEG life: MPEG-2, MPEG-4, H264/AVC and H.265/HEVC
My MPEG life: MPEG-2, MPEG-4, H264/AVC and H.265/HEVC
 
DockerCon参加報告 (`docker build`が30倍以上速くなる話など)
DockerCon参加報告 (`docker build`が30倍以上速くなる話など)DockerCon参加報告 (`docker build`が30倍以上速くなる話など)
DockerCon参加報告 (`docker build`が30倍以上速くなる話など)
 
Container Networking Deep Dive
Container Networking Deep DiveContainer Networking Deep Dive
Container Networking Deep Dive
 
組込みAndroid入門実習
組込みAndroid入門実習組込みAndroid入門実習
組込みAndroid入門実習
 
ぐだ生システム#2
ぐだ生システム#2ぐだ生システム#2
ぐだ生システム#2
 
2014 1018 OSC-Fall Tokyo NETMF
2014 1018 OSC-Fall Tokyo NETMF2014 1018 OSC-Fall Tokyo NETMF
2014 1018 OSC-Fall Tokyo NETMF
 
ワンチップAndroidの紹介(ABC2013s)
ワンチップAndroidの紹介(ABC2013s)ワンチップAndroidの紹介(ABC2013s)
ワンチップAndroidの紹介(ABC2013s)
 
ライブストリーミングの基礎知識
ライブストリーミングの基礎知識ライブストリーミングの基礎知識
ライブストリーミングの基礎知識
 

Último

新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Hiroshi Tomioka
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Gamesatsushi061452
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video UnderstandingToru Tamaki
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...Toru Tamaki
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 

Último (11)

新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 

自由ソフトウェアによるライブストリーミング