- 2種類ある
- チャンネルに対してリレー要求する場合はHTTP
- それ以外は'pcp\n'Atom
- どっちかを送ったら以降はAtomでやりとり
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Vagrant.configure("2") do |config| | |
config.vm.box = "precise64" | |
config.vm.box_url = "http://files.vagrantup.com/precise64.box" | |
config.vm.synced_folder ".", "/vagrant", :mount_options => ['dmode=775', 'fmode=664'] | |
config.vm.provision "shell", :path => "provision.sh" | |
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import opening = require('./domain/app/opening'); // <-- インポートして | |
var app = angular.module('app', ['ngRoute', 'ngAnimate']); | |
// 中略 | |
app.controller('IndexController', [ | |
() => opening() // <-- コール | |
]); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<UserControl x:Class="wmvplayer.MainPage" | |
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" | |
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" | |
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" | |
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" | |
mc:Ignorable="d" | |
d:DesignHeight="300" d:DesignWidth="400"> | |
<Grid x:Name="LayoutRoot" Background="Black" Width="640" Height="480"> | |
<MediaElement Width="640" Height="480" Name="MediaElement" Source="mms://localhost:7144/stream/【stream id】.wmv?tip=【ip】" AutoPlay="True"></MediaElement> | |
</Grid> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var https = require('https'); | |
var tunnel = require('tunnel'); | |
var tunnelAg = tunnel.httpsOverHttp({ | |
proxy: { | |
host: 'localhost', | |
port: 8080 | |
} | |
}); | |
var options = { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
ffmpeg -i http://127.0.0.1:7144/stream/a1ec070928dc66e5590831fdf7a29e24.flv -acodec mp3 -ab 48k -vcodec libx264 -profile:v baseline -level 3.0 -vb 50k -f segment -segment_format mpegts -segment_time 2 -segment_list playlist.m3u8 -segment_list_flags live -segment_list_type hls -segment_list_size 2 stream_%d.ts |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
mcp(Minecraft Coder Pack:9.05[9.05]):minecraft.jar | |
FML(Forge Mod Loader:7.10.85.1291[7.10.85.1291]):forge-1.7.10-10.13.2.1291.jar | |
Forge(Minecraft Forge:10.13.2.1291[10.13.2.1291]):forge-1.7.10-10.13.2.1291.jar | |
appliedenergistics2-core(AppliedEnergistics2 Core:rv2-beta-31[rv2-beta-31]):minecraft.jar | |
<CJB ASM>(<CJB ASM Data Initialization>:000[000]):minecraft.jar | |
CodeChickenCore(CodeChicken Core:1.0.4.35[1.0.4.35]):minecraft.jar | |
MVB-COREMOD(More Village Biomes+:2.0.6.5[2.0.6.5]):minecraft.jar | |
NotEnoughItems(Not Enough Items:1.0.4.83[1.0.4.83]):NotEnoughItems-1.7.10-1.0.4.83-universal.jar | |
PlayerAPI(Player API:1.1[1.1]):minecraft.jar | |
RenderPlayerAPI(Render Player API:1.1[1.1]):minecraft.jar |
- getItemCount([slot]) → count([slot])
- getSelectedSlot() → select()
- getItemSpace([slot) → space([slot])
- inspect() → geolyzer.analyze(3)
- inspectUp() → geolyzer.analyze(1)
- inspectDown() → geolyzer.analyze(0)
- 左 → geolyzer.analyze(5)
- 右 → geolyzer.analyze(4)
- 後ろ → geolyzer.analyze(2) analyze戻り値の
モチベーション
- 何も考えずにバケツリレーするのも効率悪いからもっと頭いい感じに流すようにしよう
- 実装難易度下げてマルチプラットフォーム展開しやすくしよう
- ニコ生()とのすみ分け(?)ができるようにしよう
メモ
- 中央サーバー系の弱点は高ビットレートかつ多人数配信が難しいこと。
- ニコ生で4~500kbpsくらいだったはず。ただしYouTubeLiveは6000kbpsいけるらしいので本気出されると死ぬ(liveを広めるモチベ低そうだし現実的には無理なのかも)
- PeerCastだとリスナーの帯域さえあればこれが実現できるのが強み
- 高画質を必須とするコンテンツがあるとなお強くなりそう
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
static class MaybeExtensions | |
{ | |
public static TResult Bind<TSender, TResult>(this TSender obj, Func<TSender, TResult> func) | |
{ | |
if (obj == null) | |
return default(TResult); | |
return func(obj); | |
} | |
} |
OlderNewer