メディア ファイルの安定したチェックサムを作成するにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/2395817

質問

メディア ファイルの安定した識別を取得するために、メタデータを含まないメディア データのみのチェックサムを作成するにはどうすればよいですか。多くの形式をサポートするライブラリを使用したクロスプラットフォームのアプローチが望ましいです。例えばvlc、ffmpeg、または mplayer。

(メディア ファイルは一般的な形式のオーディオとビデオである必要があります。画像もあれば便利です)

役に立ちましたか?

解決

私は、これを達成する任意の既存のプラットフォームに依存しないソフトウェアを知らないが、私は、これは、Javaのような解釈(プラットフォームに依存しない)の言語で達成することができるような方法を知っていますか。

基本的に、我々は、単に事前にビデオファイルを逆多重化、ファイルから任意のメタデータ(タグ)を取り除く必要があります。理論的にはデマルチプレクサおよびメタデータを削除した後、一つはファイルをハッシュ可能性があり、異なるタグを持つにもかかわらず、同一のファイルを一致させるために、同じプロセス受けた別のファイルと比較します。指紋とは異なり、これは同様の歌/映画が、同一のファイルを識別しません(あなたがアーカイブした特定の曲の10の異なるバージョンやビットレートが必要になる場合があります想像しますが、周りに浮いそれらのいずれかの2つの同一のコピーをしたくありません)ます。

必ずしも異なるアプリケーション間で同じように実装されていないタグ形式のための多くの異なる仕様があるように、

この最も厄介な部分はタグを除去され、2つの異なるアプリケーションを介して別々に同じタグを与え、すなわちまったく同じオーディオファイルはもたらさないかもしれ同一の出力ファイル。人気のタグ付けソフトウェアは、任意のファイルのバイナリ音声部分への変更、またはパッド非標準的な方法でオーディオを行う場合、これは音声のみのチェックサムのコンセプトに致命的な問題を提起することができる唯一の方法です。

は、チェックサムを取ることは簡単ですが、私は、任意のデマルチプレクサにプラットフォームに依存しないライブラリとdetag MPEGファイルの私の頭の上から認識していませんよ。私はnixの環境」で、mpgtxは、デマルチプレクサとdetagを行う可能性が偉大なコマンドラインツールですが、明らかにそれはプラットフォームに依存しないソリューションではないことを知っています。

たぶん、野心的な感じがあるから誰か?

他のヒント

私が見つけた考えられる解決策の 1 つは、vlc を使用することのようです。

./VLC -I rc snd.mp3 :sout='#std{mux=raw,access=file,dst=-}' vlc://quit | sha1sum
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top