Securing your iPhone streams is easy with Encoding.com's stream encrytion option. We encrypt your TS segements using AES-128 with no need for an additional processing step. The encryption passes on delivery, as opposed to requiring additional processing time. You'll need a few things to get started, so let's lay out all the details:
1) Create 32 character hexadecimal string. (Noted as 128 bit key below.)
Sample encryption key: 243F6A8885A308D313198A2E03707344. Don't confuse this with API keys, as the encryption key can only contain characters A – F & 0- 9.
Sample of encryption key that will fail immediately: COq8MA6wT3aHxEIvGy4U3VNBa3BMch29
OR
Create a file that contains the hex string. If you choose a file, this will overrride the hex key specified in the request.
3) Request an HLS encode with the following additions:
<?xml version="1.0"?> <query> <format> <!-- Format fields --> <output>[iphone_stream|ipad_stream]</output> ... <encryption>[yes|no]</encryption> <encryption_key>[128bit-key]</encryption_key> <encryption_key_file>[SourceURL]</encryption_key_file> <!-- Use a key_file or a string value. Don't use both, as the file will override the key. --> ... </format> </query>
###
Full XML:
<?xml version="1.0"?> <query> <action>AddMedia</action> <userid>[userid]</userid> <userkey>[userkey]</userkey> <source>[source]</source> <notify/> <format> <output>iphone_stream</output> <size>480x320</size> <bitrate>512k</bitrate> <destination>[URL]</destination> <audio_bitrate>40k</audio_bitrate> <audio_sample_rate>44100</audio_sample_rate> <audio_channels_number>2</audio_channels_number> <keep_aspect_ratio>yes</keep_aspect_ratio> <video_codec>libx264</video_codec> <profile>iphone_stream</profile> <audio_codec>libfaac</audio_codec> <two_pass>no</two_pass> <turbo>no</turbo> <cbr>no</cbr> <deinterlacing>yes</deinterlacing> <keyframe>300</keyframe> <audio_volume>100</audio_volume> <rotate>0</rotate> <file_extension>tar</file_extension> <hint>no</hint> <bitrates>600k,400k,200k,110k</bitrates> <framerates>29.97,29.97,15,10</framerates> <keyframes>90,90,45,30</keyframes> <pack_files>no</pack_files> <segment_duration>10</segment_duration> <add_audio_only>no</add_audio_only> <still_image>no</still_image> <still_image_time>5</still_image_time> <still_image_size>480x320</still_image_size> <encryption>yes</encryption> <encryption_key>[128bit-key]</encryption_key> <encryption_key_file>[URL]</encryption_key_file> </format> </query>
For additional information on encryption of iPhone streams: https://developer.apple.com/library/ios/#qa/qa1661/_index.html