flv から mp4 への変換で timecode ファイルに手間取った

可変フレームレート (vfr) の flv から mp4 に変換するために、flv ファイルから timecode を抽出したけども、その timecode を 変換後の mp4 ファイルに適用してもうまくいかない。DtsEdit を使った場合は音ずれし、nhml ファイルの修正を経て MP4Box を使った場合は、「Error importing xxx.nhml: Bad Parameter」のエラーになる。

問題は timecode の値に重複があることだった。ファイル先頭の 0 の重複はすぐに気付いたが、抽出元の flv ファイルが複数のファイルから結合されたものであった場合、結合部分にも重複があった。

0
0
...
402800
402866
402866
402932
...

というような重複部分を削除することで、timecode を正常に適用することができた。

参考