4

Windows に C# .NET クライアントがあり、.mov ファイルから開始タイムコードと期間/長さのメタデータを抽出する必要があります。それを行う方法を知っている人はいますか?私はインターネットで周りを見回しましたが、まだ何も見つかりませんでした。

4

2 に答える 2

0

.movファイルを解析できるC#ライブラリを知りません。ご使用の環境でアンマネージコードを呼び出すことはできますか?(FullTrust権限が必要です)

自分でファイルを解析するのは非常に難しいので(DirectShowフィルターで一度実行しました)、ライブラリを使用して作業を行うことをお勧めします。たとえば、 MediaInfoまたはffmpegを見てください

MP4コンテナは.movファイルと非常によく似ているため、mp4boxなどのMP4ツールを使用して、非常に詳細な情報(開始タイムコードなど)を抽出することもできます。

于 2009-08-13T20:02:17.617 に答える
0

アンマネージ コードを呼び出すことができれば、QuickTime for Windows を使用してこの情報を取得できる可能性があります。

そうしないと、必要なすべての情報がムービー ヘッダー アトムにあります。すべての QuickTime ムービーは時間 0 から始まり (つまり、問題の半分は解決されています)、指定された時間 (最長のトラックの時間と同じ) で終了します。時間は、1 秒あたりの時間単位数を定義するムービー タイム スケールで指定されます。デフォルトは毎秒 600 単位です。

ファイルをスキャンして、タイプが であるムービー ヘッダー アトムを探し、'mvhd'アトム タイプ フィールドの先頭から 16 バイト後のアトムのタイム スケールおよびデュレーション フィールドまでスキップして、ムービーのタイム スケールとデュレーションを見つけます(あなたが見つけた「mvhd」)。それぞれがビッグエンディアンの 4 バイト符号なし整数です。

ただし、QuickTime はコンテナ形式であり、すべてのムービー ファイルにムービー ヘッダーが含まれているわけではありません。いくつかは、実際のムービー データが存在する別の場所を指す単なる参照またはストリーミング ムービーです。ムービー ヘッダーが存在する場合でも、実際にファイルのデータの先頭にある必要はありません。

QuickTime File Format Specificationでは、QuickTime ファイル形式について多くのことを読むことができます。(MPEG-4 ファイル形式は、実際には QuickTime ファイル形式に基づいているため、それについて何か知っていれば、その知識は伝わるはずです。)

于 2009-09-13T04:19:02.380 に答える