MP4コンテナについて少しだけ知っていることをまとめる
カメラや映像、放送機器、OBSなどでよく見かけるmp4コンテナ
もとはmov(QuickTime)ベースになっている
ISO/IECが作った。※MPEG4 Part14としておそらく記述あり
保存に失敗したとき電源断が発生したとき、ストレージいっぱいor抜けたとき考えると不安なので脳死でmkvを選んでいるがそもそもなんでだっけ論
mp4コンテナの中にはmdat(動画本体のデータ)以外にmoovとかatomといわれるものがある。こいつにはフレームのタイミングとか動画、音声の情報、再生位置とかmdat(内容)に纏わる大事なものがある
これがmp4コンテナの生成中に欠落したりするような自体に陥ると再生不可能なファイルとして大変つらい状況が待っている
https://qiita.com/satken2/items/d14b4113fe3fb5f5597b
この辺とか参考にする or 復元するといいかも
mp4は録画完了時にmoov atomのメタ情報をまとめて書き込んだりするもんだからこうなりやすい
web系の動画制作時に「moov atomを先頭に含めて~」の話がストリーミングや配信に最適化する際、発生するのは上記の構造によるもの
そんでなんでmkvとかだと回避できるんだっけ?
メタデータを段階的に書き込む仕組みがあるらしいのである程度再生できる
めっちゃ余談だがmkvがまだ全然主流じゃなかった頃、小学生の自分はマトリョーシカコンテナは如何わしいヤバいものとして認知していた。響きもあると思うし流通していたファイルもそう感じさせたのかも...(2002年にはもうあったらしいがちゃんと見たのは2006年あたりじゃないだろうか...?今では好きですよ)
みんな大好き「TS抜き」のMPEG-TSは放送、配信界隈ではディファクトスタンダードを取ったがこいつはメタ情報が最小限でPAT/PMTが入っており細切れパケットに分けデータ内に混在している、なので途中破損とか耐性に強く設計されているみたい(まぁ放送波とかに使われたり設計がそういうもんだから当たり前っちゃ当たり前か)
https://www.paltek.co.jp/techblog/techinfo/211105_01
めっちゃ余談だがTS抜きサーバーはひっそりと息してますよウチでも...