I wanted to check all the files (Music, Movies, TV Shows) in my iTunes library for DRM, but all the solutions I found with cursory Googling involve manually checking the media info from the iTunes GUI instead of something which can be done in batch from the command line.
Looking at the mediainfo
1 output for various DRM’d files, I noticed the common denominator for iTunes-DRM’d files was the AppleStoreAccount
field. So we can just fgrep
for the presence of this field in mediainfo
’s output, and if the command succeeds the file is DRM-protected.
From inside your iTunes Library folder, you can list all files that have iTunes DRM with something like this:
find . -type f | while read file; do \
mediainfo $file | fgrep AppleStoreAccount > /dev/null; \
if [ $? -eq 0 ]; then echo $file; fi; \
done > ~/drmfiles.txt
Edit: After running this, I noticed that some music files have the AppleStoreAccount
field but don’t actually have iTunes DRM. It seems like, for music, files ending in the .m4p
extension have iTunes DRM while .m4a
files will not.