Do not monitor private communication channels. The users will expect that only the recipient and themselves can read the message, and nobody else. Attempting to monitor these communications is an invasion of privacy, and almost defeats the purpose of having a private communication channel.
I propose that you implement one of the following protocols in your system:
Blocking. Give users the ability to stop others from communicating them. It may be wise to track how often a user is blocked, as this can be a sign that he is breaking the rules. Ignoring is another term that is very similar to this.
Reporting. Billy may block/ignore Joe only due to personal preference, not due to a rule violation. However, to make it easier to track down rule breakers, implementing a reporting function will be helpful. The reported message can then be read by moderators, but only that message.
Want to avoid inappropriate images and/or videos? The reporting feature will help, but the best way to avoid this is to not implement a feature for uploading videos and images. If you feel this is a necessary feature, perhaps make this something the user can unlock. (Similar to how moderation features work on SE)
These are common features that users know how to use, and understand that a reported message will be read by a moderator. Users expect privacy for these kinds of communications, and attempting to monitor them will backfire. The above features will allow you to keep private communications in line with the community guidelines.