Cinavia (DRM)

From PS3 Developer wiki
Jump to: navigation, search

Cinavia DRM[edit]

Watermark which survives ripping to e.g. xvid/mp3 Detection of watermark

According to Cinavia website (www cinavia com) there are 4 possible warning messages on detection:

Message Code 1: Playback stopped[edit]

Typical on-screen message:

“Playback stopped. The content being played is protected by Cinavia™ and is not authorized for playback on this device.
For more information, see http://www.cinavia.com.
Message Code 1.”
Typical front panel message:

“Cinavia™ playback restriction (1).”


Explanation

The audio track of the video that you are playing contains a Cinavia code indicating it was intended for presentation using professional equipment only (for example, in a theater) and is not authorized for playback by consumers.


Recommendations

If the video that you are playing is a professionally produced video (such as a movie or television show), you will need to obtain a copy that was made with the permission of the copyright owner.

If the video that you are playing back is a home movie or other personal recording, that includes some professionally produced content (including the audio track of a professionally produced movie or television show), you will need to either skip over the parts of the video that contain the professionally produced content during playback or else create or obtain a version of the video that does not include this protected material.

Message Code 2: Copying stopped[edit]

Typical on-screen message:

“Copying stopped. The content being copied is protected by Cinavia™ and is not authorized for copying from this device.
For more information, see http:// www.cinavia.com.
Message Code 2.”
Typical front panel message:

“Cinavia™ copy restriction (2)”


Explanation

The audio track of the video that you are copying contains a Cinavia code indicating that it was intended for duplication using professional equipment only (for example, by a professional replicator) and is not authorized for copying by consumers.


Recommendations

If the video that you are copying is a professionally produced movie or television show, you will need to obtain a copy that was made with the permission of its copyright owner.

If the video that you are copying is a home movie or other personal recording that includes some professionally produced content (including the audio track of a professionally produced movie or television show), in order to make a copy you will need to either copy only those parts of the recording that do not include professionally produced content or else you may create or obtain a version of the video that does not include this protected material.

Message Code 3: Audio muted[edit]

Typical on-screen message:

“Audio outputs temporarily muted. Do not adjust the playback volume. The content being played is protected by Cinavia™
and is not authorized for playback on this device. For more information, see http://www.cinavia.com. Message Code 3.”
Typical front panel message:

“Cinavia™ playback restriction (3)”


Explanation

The audio track of the video that you are playing contains a Cinavia code indicating that it is an unauthorized copy of professionally-produced content.


Recommendations

If the video that you are playing is a professionally produced video (such as a movie or television show), you will need to obtain a copy that was made with the permission of the copyright owner.

If the video that you are playing is a home movie or other personal recording that includes some professionally produced content (including the audio track of a professionally produced video), to play your recording without muting you may either:

    Pause the video, wait 30 seconds for the audio to be un-muted, then skip over those portions where the professionally produced material is used and continue playing the rest of the video, or
    Pause the video, wait 30 seconds for the audio to be un-muted, then play video from a different optical disc for at least 10 minutes before continuing playback of this video.

For information on how this professionally produced content can be included in your home movies or other personal recordings in a way that will not be limited by Blu-ray Disc players, see Cinavia website : Guidelines for Use of Content in Home Movies.

Message Code 4: Copying stopped[edit]

Typical on-screen message:

“Copying stopped. This content is protected by Cinavia™
and is not authorized for copying from this device.
For more information, see http://www.cinavia.com”
Typical front panel message:

“Cinavia™ copy restriction (4)”


Explanation
The audio track of the video that you are copying contains a Cinavia code indicating that it is an unauthorized copy of professionally produced content.


Recommendation

If the video that you are copying is a professionally produced video (such as a movie or television show), you should obtain a copy that was made with the permission of the copyright owner.

If the video that you are copying is a home movie or other personal recording that includes some professionally produced material (including the audio track of a professionally produced movie or television show), in order to make a copy without interruption you will need to either copy only those parts of the recording that do not include professionally produced content or else you may create or obtain a version of the video that does not include this protected material.

For information on how this professionally produced material can be included in your home movies or other personal recordings in a way that will not be limited by Blu-ray Disc players, see Guidelines for Use of Content in Home Movies.

PS3 specifics[edit]

Cinavia is not experienced in firmware 3.01 and older - firmware 3.10 and higher contain Cinavia DRM Most likely suspects for the DRM are the player, streamsplitter and video- / audio decoders (e.g. libmp3dec.sprx) Content known to trigger Cinavia DRM: certain xvid/mp3 rips (e.g. Battle_Los_Angeles_2011_R5_XViD-IMAGiNE & the R5.LiNE.XViD-FOAM release of that same title / The.Tourist.DVDR-TWiZTED)

Playing Cinavia DRM protected content with Showtime works without problems (Showtime uses ffmpg), PS3 Media Server can also be used with the MEncoder transcoder otherwise it fails.

Debug firmware doesnt contain Cinavia DRM, neither has Rebug which uses same Debug system files (only CoreOS = Retail on Rebug)

30.07.2011 addition[edit]

''I have traced the Cinavia DRM checks to 4 separate sprx files and after a long time trying to patch these files I have found that 3 of those files are present in the DEBUG (DEX) firmware don’t have the Cinavia DRM checks enabled. Files are videoplayer_util sprx, videoplayer_plugin sprx and videoeditor_plugin sprx.

I have successfully copied these 3 sprx files from DEBUG (DEX) FW 341 over to my retail PS3 unit running OFW 341 using dev_blind and Cinavia seems to be now disabled. I’ve confirmed this by playing back a number of Cinavia affected video files.

This means that Cinavia is now disabled for all DLNA playback and copying, but Cinavia checks on AVCHD and BD playback are still present with Message Code 3 that mutes the audio as the sprx file with the Cinavia check bdp_plugin sprx is not present in DEX firmware because BD playback is disabled in DEBUG. If someone is able to patch Cinavia out of bdp_plugin sprx this will be solved too.

I have created a new task for PS3MFW so this can be easily made part of any new MFW’s as needed. Any FW version that has had the DEX firmware leaked should be able to be used to create a CFW of the same version. eg DEX 3.41 -> MFW 341 or DEX 355 -> MFW 355 etc etc. Don’t use sprx files from different FW versions! See git hacks for change_cinavia_files task source.

Big thanks to the KaKaRoTo and REBUG team for their community contributions as this would have never been possible without the knowledge they’ve shared with us.'' http://git.dashhacks.com/~tical/ps3mfw/ticals-tasks
change_cinavia_files.tcl (4.22 KB)

#!/usr/bin/tclsh
#
# ps3mfw -- PS3 MFW creator
#
# Copyright (C) Anonymous Developers (Code Monkeys)
#
# This software is distributed under the terms of the GNU General Public
# License ("GPL") version 3, as published by the Free Software Foundation.
#

# Notes: videoplayer_util.sprx, videoplayer_plugin.sprx and videoeditor_plugin.sprx
#        have Cinavia DRM checks. These checks are disabled in DEX firmware so these 
#        files can be replaced by those from the equivalent DEX firmware or if they
#        have been manually patched. 
#        TODO: bdp_plugin.sprx also contains checks but BD playback is disabled on 
#        DEX firmware so this file is not included in DEX firmware. This means that 
#        DNLA copy/playback won't have any Cinavia checks done on it but a copied BD 
#        playback will still check for Cinavia and mute the audio (Message Code 3) 
#        until DEX firmware with a bdp_plugin.sprx is released or someone patches 
#        this file manually.

# Priority: 2300
# Description: Change Cinavia DRM affected files

# Option --cinavia-videoplayerutil: Patched videoplayer_util.sprx filename
# Option --cinavia-videoplayerplugin: Patched videoplayer_plugin.sprx filename
# Option --cinavia-videoeditorplugin: Patched videoeditor_plugin.sprx filename
# Option --cinavia-bdpplugin: Patched bdp_plugin.sprx filename

# Type --cinavia-videoplayerutil: file open {"SPRX library" {sprx}}
# Type --cinavia-videoplayerplugin: file open {"SPRX library" {sprx}}
# Type --cinavia-videoeditorplugin: file open {"SPRX library" {sprx}}
# Type --cinavia-bdpplugin: file open {"SPRX library" {sprx}}

namespace eval change_cinavia_files {

    array set ::change_cinavia_files::options {
        --cinavia-videoplayerutil "/path/to/videoplayer_util.sprx"
        --cinavia-videoplayerplugin "/path/to/videoplayer_plugin.sprx"
        --cinavia-videoeditorplugin "/path/to/videoeditor_plugin.sprx"
        --cinavia-bdpplugin "/path/to/bdp_plugin.sprx"
    }

    proc main {} {
        variable options

        set cinavia_videoplayerutil [file join dev_flash vsh module videoplayer_util.sprx]
        set cinavia_videoplayerplugin [file join dev_flash vsh module videoplayer_plugin.sprx]
        set cinavia_videoeditorplugin [file join dev_flash vsh module videoeditor_plugin.sprx]
        set cinavia_bdpplugin [file join dev_flash vsh module bdp_plugin.sprx]

        if {[file exists $options(--cinavia-videoplayerutil)] == 0 } {
            log "Skipping videoplayer_util.sprx, $options(--cinavia-videoplayerutil) does not exist"
        } else {
            ::modify_devflash_file ${cinavia_videoplayerutil} ::change_cinavia_files::copy_cinavia_file $::change_cinavia_files::options(--cinavia-videoplayerutil)
        }

        if {[file exists $options(--cinavia-videoplayerplugin)] == 0 } {
            log "Skipping cinavia_videoplayerplugin, $options(--cinavia-videoplayerplugin) does not exist"
        } else {
            ::modify_devflash_file ${cinavia_videoplayerplugin} ::change_cinavia_files::copy_cinavia_file $::change_cinavia_files::options(--cinavia-videoplayerplugin)
        }

        if {[file exists $options(--cinavia-videoeditorplugin)] == 0 } {
            log "Skipping cinavia_videoeditorplugin, $options(--cinavia-videoeditorplugin) does not exist"
        } else {
            ::modify_devflash_file ${cinavia_videoeditorplugin} ::change_cinavia_files::copy_cinavia_file $::change_cinavia_files::options(--cinavia-videoeditorplugin)
        }
        
        # TODO: no known bdp_plugin.sprx patch yet
        if {[file exists $options(--cinavia-bdpplugin)] == 0 } {
            log "Skipping cinavia_bdpplugin, $options(--cinavia-bdpplugin) does not exist"
        } else {
            ::modify_devflash_file ${cinavia_bdpplugin} ::change_cinavia_files::copy_cinavia_file $::change_cinavia_files::options(--cinavia-bdpplugin)
        }
    }

    proc copy_cinavia_file { dst src } {
        if {[file exists $src] == 0} {
            die "$src does not exist"
        } else {
            if {[file exists $dst] == 0} {
                die "$dst does not exist"
            } else {
                log "Replacing default file [file tail $dst] with patched [file tail $src]"
                copy_file -force $src $dst
            }
        }
    }
}

Note: only :

  • bdp_plugin sprx
  • videoplayer_plugin sprx

might need proper patching, because videoplayer_util.sprx is the same on Retail/CEX and Debug/DEX and videoeditor_plugin sprx might not be used for playback at all.

edit, correction: videoeditor_plugin.prx is same on CEX and DEX

cinavia-310.rar (2.32 MB)