7 Replies Latest reply: Aug 14, 2012 4:47 PM by jonlew90 RSS

    Encrypting Live HDS with Flash Access V2

    jonlew90

      In order to encrypt Live HDS content with Flash Access V2, it looks like I need to reconfigure 4 files:

       

      1. rootinstall/applications/livepkgr/Application.xml
      2. rootinstall/applications/livepkgr/events/_definst_/liveevent/Event.xml
      3. rootinstall/applications/livepkgr/events/_definst_/liveevent/Manifest.xml
      4. rootinstall/webroot/liveevent.f4m

       

      Here are my configuration files:
      1.

      <Application>

          <StreamManager>

              <Live>

                  <AssumeAbsoluteTime>true</AssumeAbsoluteTime>

              </Live>

          </StreamManager>

       

       

          <HDS>

              <Recording>

                    <ContentProtection enabled="allow">

                      <ProtectionScheme>FlashAccessV2</ProtectionScheme>

                  </ContentProtection>

              </Recording>

          </HDS>

      </Application>

       

      2.

      <Event>

        <EventID>liveevent</EventID>

        <Recording>

          <FragmentDuration>4000</FragmentDuration>

          <SegmentDuration>16000</SegmentDuration>

          <DiskManagementDuration>3</DiskManagementDuration>

       

       

                    <ContentProtection enabled="false">

              <ProtectionScheme>FlashAccessV2</ProtectionScheme>

              <FlashAccessV2>

                  <ContentID>livestreamJDLEW</ContentID>

                  <CommonKeyFile>(common_key_file.bin)</CommonKeyFile>

                  <LicenseServerURL>(license_server_url)</LicenseServerURL>

                  <TransportCertFile>(transport_cert_file.der)</TransportCertFile>

                  <LicenseServerCertFile>(license_server_cert_file.der)</LicenseServerCertFile>

                  <PackagerCredentialFile>(packager_credential_file.pfx)</PackagerCredentialFile>

                  <PackagerCredentialPassword>(password)</PackagerCredentialPassword>

                  <PolicyFile>(policy_file.pol)</PolicyFile>

              </FlashAccessV2>

          </ContentProtection>

        </Recording>

      </Event>

       

      3.

      <manifest xmlns="http://ns.adobe.com/f4m/1.0">

        <media streamId="livestreamJDLEW" bitrate="100"/>

      </manifest>

       

      4.

      <manifest xmlns="http://ns.adobe.com/f4m/2.0">

        <baseURL>http://<ipaddress>/hds-live/livepkgr/_definst_/liveevent/</baseURL>

        <dvrInfo windowDuration="3600"></dvrInfo>

        <media href="livestreamJDLEW.f4m" bitrate="100"/>

      </manifest>

       

      In (2), when I change the <ContentProtection> enabled tag to "true", the folder rootinstall/applications/livepkgr/streams/_definst_/livestreamJDLEW/ only receives the .control file -- the .bootstrap, .meta, .f4f, and .f4x files are no longer being generated -- and, therefore, no video is created.

       

      How can I get my Live HDS streams encrypted with FAXS v2 working?

       

      Thanks in advance!

      Jon

        • 1. Re: Encrypting Live HDS with Flash Access V2
          Apurva Udaykumar Adobe Employee

          Hi,

           

          Could you tell me what version of FMS you're using? Also, could you check your application logs and core logs under <root_install>/logs.

           

          Thanks,

          Apurva

          • 2. Re: Encrypting Live HDS with Flash Access V2
            jonlew90 Community Member

            I'm using FMS 4.5.1. I think I've solved my issue(s) -- bad file paths Thanks for the quick response!

            • 3. Re: Encrypting Live HDS with Flash Access V2
              jonlew90 Community Member

              I'm able to encrypt a single stream with Flash Access V2. How do I encrypt multiple streams at the event-level? Does this need to be done at the application-level? If so, can you provide a sample Application.xml file of how to configure this? Thanks!

              • 4. Re: Encrypting Live HDS with Flash Access V2
                Apurva Udaykumar Adobe Employee

                For multiple streams at event level, you need to have multiple enteries in the manifest.xml under livepkgr/events/_definst_/liveevent/Manifest. xml as so :

                <manifest xmlns="http://ns.adobe.com/f4m/1.0">

                  <media streamId="livestream1" bitrate="100" />

                  <media streamId="livestream2" bitrate="200" />

                  <media streamId="livestream3" bitrate="350" />

                </manifest>

                For this manifest you'll typically be publishing the stream as livestream%i?adbe-live-even=liveevent via FMLE.

                For playback you need to use URL as : http://<server-ip>/hds-live/livepkgr/_definst_/liveevent.f4m

                 

                Hope this helps.

                 

                Thanks,

                Apurva

                • 5. Re: Encrypting Live HDS with Flash Access V2
                  jonlew90 Community Member

                  I have the FMS URL and Manifest.xml set up just as you stated. Doesn't that configuration just set up multiple streams -- and not encryption? How do I encrypt multiple streams?

                   

                  In my initial post, (2) shows my Event.xml configuration. The ContentID tag has the stream_name, so this looks like it will only encrypt a single stream. Is there some sort of %i suffix I can add in order to encrypt multiple streams? Or will I have to encrypt at the application-level to do so?

                  • 6. Re: Encrypting Live HDS with Flash Access V2
                    Apurva Udaykumar Adobe Employee

                    When you have the encryption configs at event level all the streams associated with that event will be encrypted. To verify, you can check the streams being created : livepkgr/streams/_definst_/livestrea1(2 or 3)/. There should be a .drmmeta file created.

                     

                    You can set any content ID you want. Setting the stream name as content Id will not encrypt only that stream. Whatever content Id you choose to set will be applied to all the streams associated with that event.

                     

                    Thanks,

                    Apurva

                    • 7. Re: Encrypting Live HDS with Flash Access V2
                      jonlew90 Community Member

                      Thanks, Apurva! I'm able to encrypt multiple streams now.

                       

                      My FMS configuration has hard-coded the names of the 3 streams (that are being streamed from Flash Media Live Encoder) in my Manifest.xml and liveevent.f4m files. The names of my streams are livestream1, livestream2, and livestream3.

                       

                      In FMLE, the stream name has a '%i' to generate each streams' integer-suffixes. Is there a way to do this in my FMS configuration(s) as well instead of having hard-coded integers (i.e. 1, 2, 3)?