音声コーデックOpusで録画した動画ファイルはブラウザで再生するのが一番手軽かもしれない

Share
音声コーデックOpusで録画した動画ファイルはブラウザで再生するのが一番手軽かもしれない
Ultramaxって特徴的な色だよね。コントラストも高くてどぎまぎ。

互換性を意識しながら設定

たまぁに画面録画をすることがあり、先日もコーデックは何にしようかと答えのない選択肢にうーんと頭を抱えていた。

いろいろな問題を解決しているおニューなコーデックを使いたいのだけれど、変なコーデックを使うと再生できないんだよねー。

とりあえず理屈ではこうやっておこうかなと一応考えが固まった。

  • 動画コンテナとしてはHybrid MP4(つまり内部的にはFragmented MP4を使って、外から見れば普通のMP4として使えるので互換性もよき)
  • 音声コーデックはOpus。ビットレートは160 Kbpsに設定するので劣化どうこうというよりかはファイルサイズの削減が狙い。

WindowsだとOpusだめっぽい?

ここで問題!動画コンテナはMP4なので当然Windows11標準のMedia Playerで開けるのだが、音声が再生されない。エラーポップアップも出てきて、再生無理といわれる。

たしかにWindowsのMedia Playerがサポートするコーデックのリストに、Opusの名はない。

Media Player のコーデック - Microsoft サポート
コーデックを使用すると、さまざまな形式のオーディオファイルとビデオファイルを再生できます。 Media Player では、さまざまなコーデックがサポートされています。 ほとんどは箱の外に含まれています。いくつかの追加のコーデックは、Microsoft Store からインストールできます。

これは困ったと思い、古き良きAACにコーデックを切り替えようと一時は思った。

いやいやOpusを使おうぜ!ブラウザで再生すればいいじゃん

が、しかし!

現代のWindowsユーザーが実際に動画を再生する環境は、この公式リストよりもはるかに多様で複雑。

友達に動画ファイルを渡したときに、友達はWindows Media Playerで開くだろうか。多くの場合、ブラウザで開いたり、既にインストールされている他のメディアプレイヤーを使用したりするはず。

現代的な観点から見ると、むしろブラウザでの対応状況の方が重要かもしれないってことです。

ウェブ動画コーデックガイド - ウェブメディア技術 | MDN
このガイドでは、ウェブ上で使用する可能性の高い、または使用を検討している動画コーデックを紹介し、その機能の概要と互換性や有用性に関する懸念、そして自分のプロジェクトの動画に適したコーデックを選ぶためのアドバイスを提供します。

意外に知られていない事実ですが、ブラウザは現代において最も普遍的なメディアプレイヤーとして機能しています。WebベースのアプリケーションやサービスがOpusを標準採用している背景には、この状況があります。

パソコンでは動画ファイルをChromeやEdgeといったブラウザーにドラッグアンドドロップするだけで開けちゃいます。というか、視聴できちゃいます。

言われてみれば、YouTubeだってTwitchだって動画をストリーミングしているというだけで、動画を扱っているのはブラウザーです。画像や音声をブラウザーで開けるのと同様、当たり前すぎて気づきませんよね。

ということで、Chrome、Firefox、Edgeといった主要ブラウザは、すべてOpusを標準サポートしています。

Opus音声フォーマット | Can I use... HTML5、CSS3などのサポートテーブル

つまり、友達はファイルをブラウザにドラッグ&ドロップするだけで、追加ソフトウェアなしに再生できるということです。

実際YouTubeも互換性のためにAACはあるものの、配信の標準としてOpusを使っています。

ということで、録画時は音声コーデックとして安心してOpusを使用し、ファイルサイズと効率性の恩恵を受けようかなと思います。他人との共有が必要になった場合には、あんまり気にずそのまま渡して、標準ソフトで開けなさそうならブラウザで開くことをおすすめしてみて、それでもだめなら、FFmpegでAACに変換しようかなあと思います。

Read more

Dependabotの対応が面倒なのでRenovateを導入する

Dependabotくんはある程度の依存関係の更新を通知してくれるが、山のようにprojectを抱えているとなんとも痒いところに手が届かない。 ということで、Renovateを使ってみる。 Build software better, togetherGitHub is where people build software. More than 150 million people use GitHub to discover, fork, and contribute to over 420 million projects.GitHub ここからGitHub Appを入れる。 あとは、指示に従ってポチポチするだけで、超かんたんだった。 感想 自動化最高。

By Sakashita Yasunobu

nodejsのバグを見つけたのでPRを投げてみた

概要 要するに、node --testで特定のバイナリを標準出力に書くと、テストランナーが固まったり、異常終了したりするバグです。 バグ自体は既知のものだったようで、修正がされていました。 test_runner: infinite loop in FileTest#drainRawBuffer when child stdout contains FF 0F followed by large size bytes · Issue #62693 · nodejs/nodeVersion v25.9.0 (also reproduced on v24.14.1 LTS, v22.21.0 LTS, v23.4.0) Platform Darwin 25.

By Sakashita Yasunobu
青空文庫のParser

青空文庫のParser

青空文庫のParserを作ってます。 GitHub - P4suta/aozora: Pure-functional Rust parser for 青空文庫記法 (Aozora Bunko notation): ルビ, 傍点, 縦中横, 外字, 返り点, indent containers, page breaks.Pure-functional Rust parser for 青空文庫記法 (Aozora Bunko notation): ルビ, 傍点, 縦中横, 外字, 返り点, indent containers, page breaks. - P4suta/aozoraGitHubP4suta Rustで作ってますが、配布物はcargoのほかにnpm/pypiでも入手できます Documentation * Playground — try it in

By Sakashita Yasunobu