taktod / something

なんか適当にやりたいことまとめておく。
0 stars 0 forks source link

h264 h265のdtsに対応しておく。 #32

Open taktod opened 7 years ago

taktod commented 7 years ago

b frameに対応できるようにしておく。

ただし、既存の動作のリアルタイム性が失われるようなことはないようにしておきたい。

taktod commented 7 years ago

mp4のtrunにもcttsっぽいのがある模様。 通常ならtrunのdurationで計算するけど trunのsampleCompositionTimeOffsetsPresentで計算できる模様。 あってるかな・・・

taktod commented 7 years ago

とりあえずmkv、mp4(ffmpeg出力とMP4Boxでmdatとmoovをいれかえたやつ)は対応できた。 fmp4とflv、mpegtsとかまだやることはあるあるだ。

taktod commented 7 years ago

いろいろ考えてみたが、やはりframe事態にdts項目を保持させておいて、 miscの動作で保持しているframeについてdtsを計算するというものを追加しておくのがよさそう。

そうすれば一番簡単にいろいろなところにdts処理を追加できそうな予感。

taktod commented 7 years ago

dtsデータを計算するのは、完成した。 基本dtsの計算をする方向になった。

flvWriterはdts考慮してもデータとして問題がでないので、基本dtsありとしてプログラム組んで大丈夫だろうか・・・ mpegtsWriterとmp4Writerはdtsありの処理を実施するとデータサイズが大きくなるため、外からflagで設定できるように調整しておこうと思う。

mkvWriterはdtsを考慮する必要がないため、放置しておく。

taktod commented 7 years ago

flvでbFrameがない場合にdts設定があるデータをつくっても問題ないかは不明。 すくなくともmyLibで読み込めないflvにはなるだろう。

taktod commented 7 years ago

一応、mkv、mp4、mpegtsはもう大丈夫っぽい感じになった。 flvはいつかやらないと・・・