Copy link to clipboard
Copied
In order to encrypt Live HDS content with Flash Access V2, it looks like I need to reconfigure 4 files:
<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
Copy link to clipboard
Copied
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
Copy link to clipboard
Copied
I'm using FMS 4.5.1. I think I've solved my issue(s) -- bad file paths Thanks for the quick response!
Copy link to clipboard
Copied
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!
Copy link to clipboard
Copied
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
Copy link to clipboard
Copied
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?
Copy link to clipboard
Copied
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
Copy link to clipboard
Copied
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)?