0

http://snipplr.com/view/4025/mp3-checksum-in-id3-tag/のスクリプトを使用して、mp3 コレクションに md5 チェックサムを装備したいと考えてい ます。スクリプトは、オーディオ データのチェックサムを保持するカスタム ID3 タグを追加でき、そのチェックサムを削除するオプションも備えています。残念ながら、チェックサムの追加と削除は、いくつかの理由で往復テストに合格しません。それを変えたい。理由の 1 つは、スクリプトの実行時に「タグ付け時間」フィールドが作成されますが、チェックサムが削除されても削除されず、時間も更新されるためです。IIUC--no-tagging-time-frameオプションは、コマンドラインのeyed3ツールでこれを防ぎますが、同等のpythonが見つかりません。タグ付け時間がPythonで変更または設定されないようにするにはどうすればよいですか?


詳細:

元のファイルのコピーにチェックサムを追加してから削除し、両方のファイルを比較しました。これは、最良の場合のバイナリ データの違いです。

オリジナル:

0003 3060: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........
0003 3070: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........
0003 3080: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........
0003 3090: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........
0003 30A0: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........
0003 30B0: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........

チェックサム付きでコピー:

0003 3060: 00 00 00 00 00 00 54 58  58 58 00 00 00 21 00 00  ......TX XX...!..
0003 3070: 00 54 61 67 67 69 6E 67  20 74 69 6D 65 00 32 30  .Tagging time.20
0003 3080: 31 36 2D 30 31 2D 31 32  54 32 32 3A 33 31 3A 30  16-01-12 T22:31:0
0003 3090: 38 55 46 49 44 00 00 00  24 00 00 6D 64 35 00 64  8UFID... $..md5.d
0003 30A0: 34 35 64 30 62 32 34 36  38 62 31 64 38 31 31 35  45d0b246 8b1d8115
0003 30B0: 31 39 30 32 30 62 37 62  30 30 33 35 37 33 34 00  19020b7b 0035734.

チェックサムを削除してコピー:

0003 3060: 00 00 00 00 00 00 54 58  58 58 00 00 00 21 00 00  ......TX XX...!..
0003 3070: 00 54 61 67 67 69 6E 67  20 74 69 6D 65 00 32 30  .Tagging time.20
0003 3080: 31 36 2D 30 31 2D 31 34  54 30 38 3A 33 34 3A 35  16-01-14 T08:34:5
0003 3090: 39 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  9....... ........
0003 30A0: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........
0003 30B0: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........

他のファイルでは、さらに変更が導入されています。最初の問題が解決されたら、その問題に戻ります。

4

1 に答える 1

0

最善の解決策は、新しい 0.7 シリーズに移行することです (または、他のライブラリを使用することもできます - 私は変異原が好きです)。0.6.18 バージョンはかなり古いです。ただし、これらのいずれかを行うと、スクリプトが壊れます。API が変更されています。

既存のスクリプトに最小限の変更を加えるだけの場合は、追加することをお勧めします

tag.do_tdtg = False

tag.updateスクリプト内の各呼び出しの前。時間の更新動作がオフになると思います。

于 2016-02-29T08:57:55.637 に答える