Forum

Can HLS AES encryption be used for RTMP Live Pulled streams for edge servers?

Sulabh Khanal 2018-08-09 09:59:16 UTC in Nimble Streamer

Denis Slobodskoy 2018-08-10 08:31:52 UTC 

HLS AES encryption can be used for HLS only, certainly it not applicable to RTMP; probably you mean RTMPS/RTMPE? Unfortunately, nimble doesn't support it.
If you need to encrypt traffic between origin and edge servers, we would recommend to use SRT protocol with encryption ( passphrase / pbkeylen parameters). Refer to this page for SRT support in Nimble: https://wmspanel.com/nimble/srt

Denis Slobodskoy 2018-08-10 09:07:03 UTC 

If you just mean you want to perform AES encryption for your output HLS streams - origin of streams doesn't matter, so it can be applied to streams pulled by RTMP like any other stream. You can read about HLS AES encryption support here: https://blog.wmspanel.com/2015/02/hls-aes-encryption-drm-support-nimble-streamer.html

Sulabh Khanal 2018-08-13 10:05:24 UTC 

Thank you. The second answer was what I wanted. I just want to perform AES Encryption for my output HLS streams. Do I perform the steps on my edge nimble servers?

Max 2018-08-13 10:18:58 UTC 

Yes, it should be set up on edge servers.

Sulabh Khanal 2018-08-16 10:31:14 UTC 

Hello,
I am following step 1. from https://blog.wmspanel.com/2015/02/hls-aes-encryption-drm-support-nimble-streamer.html url for using encryption key hosted by Nimble, is there any other configuration that I need to perform?

I am getting "GET /test/test.stream/hls.key?nimblesessionid=230 HTTP/1.1" on my nimble access log when a stream is requested but the playlist.m3u8 has only the following parameters

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-STREAM-INF:BANDWIDTH=2317671,RESOLUTION=1920x1072,CODECS="avc1.42c028,mp4a.40.2"
chunks.m3u8?nimblesessionid=2

How do I get the aes key format? I have created an application and pulled a RTMP stream.

Max 2018-08-16 12:33:25 UTC 

Hello,

Master playlist does not contain a reference to hls.key, but chunklist does (check the content of chunks.m3u8). HLS AES key is just 16 bytes used as an encryption key.

Sulabh Khanal 2018-08-17 08:55:57 UTC 

Hi,

Thank you your explanation. I am a bit new to streaming and have only been recently testing nimble. I have the following data in the chunks.m2u8:

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:11
#EXT-X-MEDIA-SEQUENCE:2248
#EXT-X-KEY:METHOD=AES-128,URI="hls.key?nimblesessionid=4"
#EXTINF:10.01,
l_934_22481738_2248.ts?nimblesessionid=4
#EXTINF:10.01,
l_934_22491748_2249.ts?nimblesessionid=4
#EXTINF:10.01,
l_934_22501758_2250.ts?nimblesessionid=4
#EXTINF:9.977,
l_934_22511768_2251.ts?nimblesessionid=4

Does this mean my stream is aes encrypted?

Max 2018-08-17 09:00:52 UTC 

Yes, HLS AES encryption is applied to that stream. If you download a chunk from this chunklist (e.g. l_934_22481738_2248.ts) it will not be played without decryption (try to play downloaded chunk file with e.g. VLC).

Post a reply


Post a new question

Categories:

Tags:

nimbleNimble StreamerFAQHLSDVRRTMPhlsnimble streamerABRwmsauthcacheNimbleffmpegdvrAPIapitranscoderVODstreamingfailoverDASHwmspanelrtmpvodudprtsppaywallsubtitlesRTSPDispersayoutubelivelivestreamingmp4MPEG-DASHWMSAuthpay-per-viewgeodashvideostreamerabrWindowsencryptionUDPhttpswhite labeluser agentconfigsmilFFMPEGmulticastsslaudioMPEG-TSedgeCORSchunksraspberry pire-streamingandroidsldpbandwidthmpeg-dashadvertizervlcDRMrules.confadvertisingipv6FastSpringRAMwms panelthumbnailFMLEVATcrossdomainupdatempegtsRecordingplaylistSMILakamaiaespushserversSRTwowzaSSLerrorm3u8Transcodebalanceplaylist_dvrchromecastWowzareportingconfigurationsrtbugdownloadIDS3nimblestreamerdomainperformancecorschunkmpeg-tsraspianpublish controlcodecWMSPanelmobilerepublishingVidillionHttpsIPloopawsnimble webcam html5UIRegistration Issuedirect link32-bit Windowstwitchanalysecache_controlitworkmelive abr support mpeg-dashrtmp abrbeirutWWDCdubaideep statshls to multicast udplogIIS Smooth StreamingcloudmediaCDNHTTPSAbrHot-linking protectionHDSvaddioMPEGTSalertsNDIViewer Statsjwplayer websitewhmcsbaselineAuthentication in HLSCentOS v6.4nginx rtmp nimblepricedurationAV BridgelimitOld logsscreencastVaddioPI3 Ubuntuview timeattaching domainswmspanelapiinterfacesWMSCONFIG_HOMEmessageDVRRecordingrestreamcostloadbalancingoriginmetadatamod_rewriteprofileAxisgbpsID3 tagswmsauthsignhighhls restreaminghds streamVLCciscolocalresumenibler.net hotlinkVideo Playertransocding republishingdecodergentoo install server nimbleAliaslost traffictranscoding using NvidiaPublic IpPaywall Authdocumentationofflineconcurrent-connectionsTrancoderfileipicecast urlrulelebanonlocationmanifesthot linkingMP4 not playedspaceServer-sidechangetasks-controlamfstoppedplayoutseekingmaindvr streamconnectivityunique visitoronPlayReadylimuxamazon web servicealiasdata slicesdvr stream twicepay per viewHLS vodAXVVGhot-linkanalyticsapplicationpaywalblockmpeg dashTCOopenssl7brandingtrialMP4microsoft streamerrorsExpression Encoderrocksoftlog traffic statsdebianHLS Playerlive video on demandDASH PlayerbandwithABR DASHprogressive downloadmultiple originsFFmpegnimblesessionidserverlog nimble analysertmp playbackvideojsSnapshotsbitrateprivate networkadaptiveAV1 codecPullJWPLAYERNGINX-RTMPno WMSPanellive videomac osx installsoundHLS Meta Tag editing.streamsattachmentwotermarksourcecrossdomain more then 1 domain4Khelp errorvimeoconcurrent connectionvod no soundload balanceFairplaybuttcdnvsomRemote StorageWowza Agentlive streamnot foundWidevinepullfallbackamazonControl APIAS3TranscoderLive streamingsecuritympeg2tsServer-Side-Task-Controldisk migrationinstall players setup ready to goDVRSettingstwitch larix broadcaster androidAppleDelete recordsstereo to monoscreen capturedrmresourceaes encryptionicecastsubscriptionvideo looplive pull settingsABR HLS Bitratesstarttime duration seekpointrebootrtmp for YouTubemonitorIIS Media Servicsrtmp republishing transcodenimble.confDeep statsapi accessoutrateinterleavingweb playerdvr streamsnimble streamer web server php script pageautomationNimble Streamer APIlivestreamnimble streamer vod hls transmuxingloggingscreen freezecan't registercontent-dispositionNimble CapacityABR DVR problemlearnerheaderactionscript 3Cross DomainLive Switcherinsert logoDVRStreamsNimble Servernot to stealLive Broadcastblock downloadAVCaptureMovieFileOutputUbuntu artful 17.10Transcoder MPEG DASHMPEG DASHadd_chunk failedPost processingfake extensionbroadcastertranscodingFFMPEG;RTMP;I/O errorstatus:errorHotlinking ProtectionStreaming routeMPEG-Dashlarix broadcasterThumbnailsserver incorrect timepremium featureLIVELivenimble on cloudroutesprerollpaymentHow to do live stream with multiple audio tracknimble aliasesProgressivestatsincoming streamno soundreloadvp9adSecureRTMP republishrmtpno internetdemandlivestreamintransocderAndroiduser_agentdvr on wmspanelS3 AWSIOSrestartPIDHLS Streamingreportsraspberryavoid refreshthumbnail dvr-thumbnailwmsAuthSignnimble streamer mpeg-ts multiple inputsLoad-BalancingDVR SettingPORTlatencyadjustissuepricingcredentialstranscodeRepublishingdelaympeg4HTML5 playertranscoder nimbleVR-360Failoverhttp servera record21server ipav1 codecNimble connectionsabr fallbackBroadcastLarixABR bitratesPacketizingbuildTeradek Decoderubuntu 18SLDPssaiDVR Setting limitbufferartifactsrtsp push androidcache expiryQuickTimevideo streamingtraffichd25publish streamAArch64buffering videoSO_RCVBUFdissapointmentpay-per-minuteAWSspeedup my videoiOSnimble dvrlivestream bitrateUDP Multicastlogo in streamMPEG2 VideoCSSfastspringmp2 audioprogressivewebhookdvr to liveoutputcloudflareVOD HLS streaming on public IPdomain lockRTMP Republishcontentvideo and audio not matchcloudfrontrulesError when installingdistributionstoragealias route.movanalisyssctestorage space availabledisk3.6.1-1qataritworkscdnvideo.js

This website or its third-party tools use cookies, which are necessary to its functioning and required to achieve the purposes illustrated in the Privacy Policy. If you want to know more or withdraw your consent to all or some of the cookies, please refer to the Privacy Policy.
By closing this banner, scrolling this page, clicking a link or continuing to browse otherwise, you agree to the use of cookies.