Как проверить, защищен ли файл DRM?
Как проверить, защищен ли данный файл, например аудиофайл, DRM?
2 ответа
Чтобы определить DRM на видео, вы можете использовать ffmpeg -i <filename>
Например, для фильма, приобретенного у Apple, это можно увидеть в выводе:
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fc22d005600] ignoring 'frma' atom of 'mp4a', stream format is 'drms'
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fc22d005600] ignoring 'frma' atom of 'avc1', stream format is 'drmi'
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fc22d005600] ignoring 'frma' atom of 'ac-3', stream format is 'drms'
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fc22d005600] stream 0, timescale not set
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fc22d005600] Could not find codec parameters for stream 1 (Video: none (drmi / 0x696D7264), none, 1920x1032, 5234 kb/s): unknown codec
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fc22d005600] Could not find codec parameters for stream 2 (Audio: none (drms / 0x736D7264), 48000 Hz, 5.1(side), 384 kb/s): unknown codec
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fc22d005600] Could not find codec parameters for stream 4 (Subtitle: none (p608 / 0x38303670), 1920x1032, 0 kb/s): unknown codec
Consider increasing the value for the 'analyzeduration' and 'probesize' options
Аудио DRM в основном зависит от формата, поскольку большинство форматов с поддержкой DRM легко идентифицируются по их контейнеру, что обычно отражается в их расширении. Это должно дать игроку знать, с чем он имеет дело, без необходимости анализировать файл. Типичным примером является файл AAC, который вы можете купить в iTunes. Если он защищен FairPlay DRM, файл называется .m3p
(против незащищенных .m4a
).
Там нет ничего, чтобы остановить компании, шифрующие .mp3
и оставив расширение тем же самым - оно просто раздражает пользователей, когда они переключаются на один из миллиарда доступных MP3-плееров, и это не работает.
Для видео все может быть немного сложнее. Некоторые форматы контейнеров видео поддерживают DRM, поэтому их расширение не обязательно изменяется. Я бы предложил попробовать получить ffmpeg
или же themonospot
проанализировать каждый файл.
Вот небольшая bash-функция, которую я только что написал, которая может получить кодеки из файла:
function codec() {
ffmpeg -i "$1" 2>&1 | grep Stream | grep -Eo '(Audio|Video)\: [^ ,]+'
}
В бою:
oli@bert:~/Desktop$ codec "The Beatles - 01 - Back In The U.S.S.R.mp3"
Audio: mp3
Вы можете урезать это еще больше, но сделать это на некоторых известных носителях с DRM и посмотреть, что произойдет. Он либо взорвется, либо расскажет вам о DRM.
В любом случае, когда вы знаете, чего ожидать, вы можете сделать это или что-то в этом роде, чтобы быстро сказать, какие файлы имеют DRM.