0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AI開発を始めて17日目の超初心者が、仕様書なしの独自バイナリから動画とGPSを完全復元してスマホで動かした話(助けて強強エンジニア)

0
Posted at

AIの勉強を始めて17日目の超初心者です。
どうしても作りたいシステムがあり、ドキュメントも仕様書も一切ない防犯カメラの独自規格バイナリデータ(.dat)をバイナリエディタで睨みつけるところから開発をスタートしました。
iMac M4でコードを書き、ルート化したPixel 6a(Android 16 / Termux環境)の実機で、動画チャンクと隠されたGPSデータをオンデマンドで切り出して、OpenStreetMapと完全連動させてブラウザで再生するフォレンシックビューアー(Python http.server)を力技で構築しました。
しかし、最後の「詰め」の部分でどうしても私の知識では突破できない深刻なボトルネックに直面しています。
【現在の致命的な課題:音声の繋がり(バッファ遅延)】
マルチRIFF物理スキャン方式で ⁠b"LIST"⁠ や ⁠b"movi"⁠ から音声ブロック(⁠02wb⁠)を抽出する際、先頭のメタデータ8バイトをバイパスして「プチプチ雑音」を根絶することには成功しました。
しかし、FFmpegでストリーム(フロント/リア映像)と再結合(Mux)してブラウザにストリーム配信(302 Range対応)する際、音声の繋ぎ目でバッファが詰まり、わずかな音飛びや音ズレが徐々に発生してしまいます。
ネイティブサンプリングレート(22050Hz/Mono)には完全一致させているのですが、オンデマンド抽出時のファイルシークの遅延か、FFmpegのパイプ・バッファ制御の知見が足りず、 timeline sync がブレてしまいます。
文法もめちゃくちゃでグローバル変数を乱用した荒削りなコードですが、コアとなるリバースエンジニアリングのロジックは実装済みです。
低レイヤ、FFmpegのパイプ制御、ストリーミングに強い「神エンジニア」の先輩方、どうか力を貸してください。
コードの全貌と、詳細な技術的ボトルネックはGitHubのIssueにまとめてあります。Pull Requestやアドバイスをマジでお待ちしています!

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?