サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
Nintendo Direct
github.com/uupaa
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
この Wiki には、 ブラウザの機能を使って HLS をサーバから取得し HLS から MPEG-2 TS をほどき PES と NALUnit をパースし Video ES と Audio ES を取り出し Video ES を格納する MP4Box 構造を作成し <video> に渡せる形の .mp4 の BLOB を作成し Audio ES (AAC) を WebAudio に渡せる形にデコードする 等のコードを記述する上で必須となる HLS / M3U8 / MPEG-2 TS / ByteStream / MP4Box(IBMFF: ISO Base Media File Format) / H.264 / AAC に関する一連の知識を、これでもかと詰め込んでいます。 通常であれば、合計1000ページを軽く超える膨大な数の仕様書を解読し、そこから半年〜1年ほどかけてトライアンド
import { bar } from "./bar.js"; // -> OK { export piyo; // -> Syntax error (is not top level block) } if (flag) { import foo from "./foo.js"; // -> Syntax error (is not top level block) } import { buz } from "./buz.js"; // -> OK function bar() { export let buz = 1; // -> Syntax error (is not top level block) } export piyo; // -> OK import ... は、コードの途中や末尾に記述されていてもコードの先頭に書かれている物として解釈されます。これは JavaScr
WebApp/2 は Docker, HTTP/2, ES6+ESModules を使いやすくパッケージ化した WebApplication の開発環境です。 WebApp/2 を採用することでWebフロントエンドのプログラミングは劇的にシンプルになります。 WebApp/2 の目標は 標準化 と 省力化 にあります。 標準化 標準技術を使用することで流行り廃りや個人の趣向が入る余地を減らしたい。余計な心配を減らしたい。 省力化 誰がやっても同じ結果になる環境構築のような定形作業を減らし、よりコアな開発に専念するための時間を作りたい。 これまでのWebフロントエンド開発手法 JavaScript には、部品を import するという重要な仕様が欠落していました。 JavaScirpt コードを一つに纏めたり、 ES5 しか動作しない古いブラウザに合わせてコードを変換する作業はプログラマー
ローカル環境( https://localhost/app )で開発を進めていると、 サーバ側( https://api.example.com/xxx )のAPIを呼び出せない や Canvas.toBlob() が実行できない という問題が発生します。 これはブラウザのセキュリティ機構の一つで、CORS ( Cross-Origin Resource Sharing ) と呼ばれており、ドメイン間をまたいだ通信をしようとする時は、予めサーバ側で許可をしておかないと通信がブロックされてしまいます。 一般的には、以下のいずれかの方法で回避が可能です。 方法1. 適切なHTTPレスポンスヘッダを付与する 方法2. Chrome の拡張機能で制限を突破する 方法3. Chrome Canary をオプション付きで起動し突破する 方法4. Nginx の proxy で突破する 適切なHTTPレ
このエントリでは、Encoder Delay について解説を試みます。 AAC の前後には、無音部分(Encoder Delay)が必ず含まれており、duration はその分だけ長くなります。 #Introduction AAC requires additional data in order to correctly encode and decode audio samples. During the encoding process, an AAC encoder will require some number of audio samples at input before it can generate an AAC access unit (also referred to as an audio packet). During decoding, data depend
var ua = new UserAgent(); ua.OS // -> "iOS" ua.OS_VERSION // -> "8.1.0" ua.PC // -> false ua.MOBILE // -> true ua.BROWSER // -> "Safari" ua.BROWSER_ENGINE // -> "WebKit" ua.BROWSER_VERSION // -> "8.0.0" ua.USER_AGENT // -> "Mozilla/5.0 (iPhone; CPU iPhone OS 8_1 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12B411 Safari/600.1.4" ua.LANGUAGE // -> "ja" ua.WEB_VIEW // ->
MPEG-1 ES (Elementary Stream) エンコードされた Video や Audio データ PTS (Presentation Time Stamp) コンテンツをいつ出力するかを指定したタイムスタンプ情報。映像と音声の同期のために必要となる STC が PTS の示す時刻になるとデコード結果を映像や音声として出力する 33bits SCR (System Clock Reference) ストリーム上でのシステムクロック情報 33bits DeMUX (Demultiplexer) 映像データと音声データを分離する STC (System Time Clock) システム基準時刻。内部クロック 90kHz MPEG-1のクロックはすべて90kHz単位。STC,SCR,PTS も90KHzを基礎単位とする時刻情報 STD (System Target Decoder)
Shadow DOM 195682 Add Node#treeRoot 190256 Blinkと分離した時に一度は削除された Shadow DOM ですが、改めて実装が開始しました CSS 195892 Support break-after, break-before and break-inside. 191590 border-image-repeat: space が実装されました 191452 touch-action: manipulation が実装されました 191252 revert が実装されました 191178 all propertyが実装されました 191151 unset keyword が実装されました 191128 CSS Variables が再実装されました 189841 ShadowRoot 関連の :host pseudo class が実装されま
WebModule は JavaScript で部品を作るための金型であり、巨大な建造物を安全に建築する方法を示した工法(フォーマット)です。 環境に応じてダイナミックに変化する部分(コードやフォーマット)に重きを置かず、より抽象的でソリッドな部分(エンジニアリングの哲学)を軸足としたマイクロフレームワークでもあります。 哲学が存在しない世界では何が起きたか。何が起きているか あなたは、そびえ立つ九龍城のように、継ぎ足し継ぎ足しが繰り返され、「もう一体どこから手を付けたら…」 「なぜ動いているのか不思議」 なコードの山と対峙し、途方に暮れた事はありませんか? そして 「テストは無い」 「自動テストはないが人力テストはある」 「人力なのでテストに丸々3日かかる。そしてコツが要る」 と言われたり、「設計? ありませんよ? コードがドキュメントです、だってドキュメントをメンテするの大変じゃないで
このエントリでは、WebModule に使われている 実装パターン(WebModulePattern) について紹介しています。 WebModulePattern は、どこでも動作し見通しの良いモジュールを記述するためのコードパターンです。 以下のように記述すると、Browser, Node.js, Worker, NW.js で動作するモジュールを構築できます。 Namespace WebModule における GLOBAL とは JavaScript のルート要素(window や self, global)を示す定数です。この値は WebModuleIdiom を使って導き出されます。 WebModulePattern を使って定義したモジュールは GLOBAL 直下ではなく、GLOBAL.WebModule 名前空間の下に export されます。 パターン 以下は、モジュールを定
WMCache.js は、ブラウザ上で、大容量かつ高速に動作するクライアントサイドストレージ機能を提供します。 これは現時点で提供できる、もっとも理想的なクライアントキャッシュの姿です。 クライアントストレージの歴史 も参照してください。 特徴 iOS 8 Mobile Safari, Chrome for Android をサポートしています Android Browser はサポート対象外です。ChromeTrigger.js を使い、Chrome for Android にユーザを誘導してください 大容量のストレージを提供します 端末の空きストレージの10%を利用できます ユーザにストレージの使用許可を求めるダイアログを表示しません 容量不足になると自動的にGCが実行されます ユーザがコントロール可能なブラウザキャッシュとして、またユーザデータの保存先(大容量のLocalStorag
We will say Goodbye Android Browser! ChromeTrigger.js は、Android Browser(AOSP Stock browser) で開いているページを Chrome for Android や ユーザの開発したアプリで開き直すソリューションを提供します。 ChromeTrigger.js を活用すると、Android Browser では動作しないページを Chrome や App で開き直す事が可能になり、WebApp, WebGame のユーザ体験ならびに、開発/メンテナンスに関わるコストを大幅に引き下げられます。 導入例 以下のサービスに導入され稼働実績があります。 Mirrativ 某ソーシャルゲームの某期間限定イベント x 3 などなど 以下のサービスでも活用される予定です。 某新規サービス(世界展開を前提としたサービス) O
次のページ
このページを最初にブックマークしてみませんか?
『uupaa - Overview』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く