
まったく同じファイルのハッシュが異なる原因は何でしょうか
よくブログやシェアなどを通じて
ゲームのOPムービーなどをダウンロードしますが、
製作社から配布される、同じソースのファイルでも、
それを直接ダウンロードせず、他の人を跨いで共有して頂くと
異なるハッシュ(MD5, SHA-1など)を持ってる場合があります。
本来ならば直接製作サイドからダウンロードするか、ハッシュ値を訊ねることも出来ると思いますが
会社が潰れていたり、昔の同人ものであるなどの場合、容易ではありません。
普通、破損してる動画なら、
動画のVideoとAudioをそれぞれ分離してハッシュをチェックすると、どちらが原因なのか明らかになり、
Videoだったら1frameくらい画面化けしていたり、Audioだったらホンの一瞬ノイズが発生していたりしますが…
そのどちらのものでもない場合が時々あります。
VideoとAudioに分割して見ると同じハッシュを持ってるのに、動画自体のハッシュは異なる場合…
これらの原因は何でしょうか、どうしたらどちらが変形されたものなのか判明できますでしょうか。
No.5ベストアンサー
- 回答日時:
動画のコンテナにはいろいろな情報が埋め込まれています。
こういうの使ってバイナリのdiffをとってみたら?
http://www.vector.co.jp/soft/winnt/util/se270871 …
コンテナファイルのフォーマットを少し勉強すれば、何の情報が負荷されているかわかるでしょう。
まったく違うようであればどこかで再エンコードされています。
No.4
- 回答日時:
どういうところを経由しているのか知りませんが、動画共有サイトではサーバー側でエンコードしていることがあるし、オンラインストレージでもヘッダに何か負荷しているかもしれません。
そもそも、同じと思っている2つのファイルのファイルサイズは同じですか?
MB表示とかで比較するのではなくByteで比較してください。
Byte表示で1Byteでも違っていればハッシュが違っていて当たり前です。
No.3
- 回答日時:
>VideoとAudioに分割して見ると同じハッシュを持ってるのに、動画自体のハッシュは異なる場合…
動画ファイルのフォーマットとしてそれ以外の情報でも含まれているのかも知れませんが…そこら辺は考慮なしですか?
# 作成日時とか作成したソフト名だとかが埋め込まれているかも知れませんけど。
# 制作元が同じ動画をエンコードし直して配布している。という場合なら制作日時が変わることもありますしね…。
また、動画ファイルのフォーマットによっては変わるかも知れませんし。
こっちは別の誰かがいぢった場合…かも知れませんが。
VideoとAudioを特定サイズのパケットに分割して記録されている場合、パケットの順番が変わればハッシュも当然異なりますよ。
例えば、それぞれ1024バイトに分割して
VideoのNo.1パケット:AudioのNo.1パケット:VideoのNo.2パケット:AudioのNo.2パケット:……
ってのが、
VideoのNo.1パケット:VideoのNo.2パケットAudioのNo.1パケット::AudioのNo.2パケット:……
ってなったらハッシュは異なります。
まぁ、元ファイルがそんな風に入れ替わることはないでしょうから、誰かがエンコードし直したとか何らかの改変を加えたもの…かもしれませんけどね。
No.2
- 回答日時:
>まったく同じファイルのハッシュが異なる原因は何でしょうか
それはありえません。あなたの勘違いです。ハッシュが異なるなら内容がどこか違います。
>VideoとAudioに分割して見ると同じハッシュを持ってるのに、動画自体のハッシュは異なる場合…
それ以外の部分が異なるのでしょう。
分割せずに、ファイルのまま比較してないのですか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
一意(ユニーク)かつ、ソート...
-
perl ハッシュ エラー
-
perl 文字列検索後に指定フィー...
-
VBAでの一時停止と再開の方法
-
UWSCに制限時間を付けたいです
-
ダイアログのテキストにマウス...
-
VBAで3秒だけ時間を止めたい
-
UWSCの終了の仕方
-
画面を強制的に再描画させる方法
-
Providence PEC-02 接続方法
-
再帰関数のインライン展開
-
スレッド起動したフォームを正...
-
VBA for i=1 to lastrow
-
Delphi for文
-
WinAPI「MsgWaitForMultipleObj...
-
UWSCのスクリプトで行き詰って...
-
VB2010でCSVファイルの読み込み
-
Pro Tools の 波形を伸ばす方...
-
範囲指定したセルを1つずつ飛...
-
ループ内での条件処理
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ハッシュ検索はなぜ速い
-
チェックデジットについて
-
重複ファイルを削除したいので...
-
文字列を変数名として扱う方法
-
ハッシュリストって単にハッシ...
-
Perlでファイルを読み込み...
-
「名前を元に占いが出来るサイ...
-
列挙型と連想配列の違いを教え...
-
VBAにハッシュ関数はないのです...
-
まったく同じファイルのハッシ...
-
英語でのシャープとコメの呼び...
-
foreachについて
-
[perl] $xxx == 1 or $xxx == 5...
-
ハッシュリスト。
-
二次元配列のハッシュ版の記述...
-
ハッシュのソート
-
正規表現を使ってコードを短く...
-
短いハッシュの作り方
-
Perlでいうハッシュとはどのよ...
-
フォームデータをハッシュで返...
おすすめ情報