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 streamerABRcachewmsauthNimbledvrAPISRTtranscoderffmpegapiVODfailoverrtmpstreamingDASHwmspanelvodudprtsppaywallsubtitlessrtsldpDispersaRTSPyoutubeabrlivelivestreamingmp4WMSAuthMPEG-DASHpay-per-viewgeodashWMSPaneledgevideostreamerWindowsencryptionhttpsUDPuser agentwhite labelconfigsmilFFMPEGsslmulticastMPEG-TSaudioCORSre-streamingmpeg-dashchunksraspberry piandroidbandwidthadvertizercorsvlcS3DRMrules.confplaylistadvertisingipv6MPEGTSFastSpringRAMthumbnailFMLEVATcrossdomainupdateRecordingSMILmpegtsaespushakamaiwowzaserverserrorm3u8TranscodebalanceSSLchromecastplaylist_dvrWowzaconfigurationIDreportingbugperformancedomainnimblestreamerLarixIPrepublishingmpeg-tspublish controlcodecmobileloopHttpsVidillionawsAWSdownloadorigincloudfrontCDNraspianwms panelroutesSLDPchunknimble webcam html5UIbitrateRegistration Issuedirect link32-bit Windowstwitchcache_controlitworkmelive abr support mpeg-dashwmspanelapiresumertmp abrbeirutWWDCdubaideep statsCentOS v6.4hls to multicast udplogcloudIIS Smooth StreamingmediaHot-linking protectionHTTPSAbrHDSvaddioalertsjwplayer websitebaselinewhmcsnginx rtmp nimbleAV BridgeAuthentication in HLSVaddioPI3 Ubuntupriceview timelimitOld logsscte-35screencastinterfacesattaching domainsDVRRecordingloadbalancingmod_rewritemetadataprofileID3 tagsgbpsAxiswmsauthsignhighmessageWMSCONFIG_HOMEhds streamrestreamcostlocalcisco.net hotlinkhls restreaminggentoo install server nimbleVLCPublic Iptranscoding using NvidiaPaywall AuthniblerofflinedocumentationNimble streamer upgradeTrancoderconcurrent-connectionsdecodertransocding republishingVideo PlayerfileAliaslost trafficServer-sidetasks-controllebanonlocationmanifeststoppedNimble Streamer versionmainipMP4 not playedspaceicecast urlruledvr streamconnectivityunique visitorseekinghot linkingchangepay per viewamfplayoutPlayReadyamazon web servicelimuxdvr stream twicedvr_archivesmpeg dashobsTCOhot-linkAXVVGopensslSteam stopped workingonblocknvencHLS vodExpression Encoder7analyticspaywalapplicationbrandingtrialMP4microsoft streamerrorsHLS Playerrocksoftlog traffic statsDASH Playerdebianprogressive downloadABR DASHFFmpegmultiple originsnimblesessionidlive video on demandbandwithscreen freezecan't registerserverheaderprivate networkLarge DVR fileslog nimble analysertmp playbackvideojsno WMSPanellive videointerleavingsourcemac osx installadaptiveAV1 codecSnapshotsNGINX-RTMPJWPLAYERwotermarkvimeohelp errorPullvideo stopload balance4Kcrossdomain more then 1 domainvsomcdnattachmentlive streamvod no soundconcurrent connectionAWS 3buttmpeg2tsDelayServer-Side-Task-Controldisk migrationWidevineFairplayfallbackamazonControl APIscreen capturestereo to monoLive streamingTranscoderRemote StorageWowza Agentsecuritydrmnot foundCPU Loadresourceaes encryptionpullsubscriptionAS3ABR HLS Bitrateslive pull settingsWMSPanel settingsrtmp for YouTubetwitch larix broadcaster androidDVRSettingsinstall players setup ready to goDelete recordsAppleicecastudp streamingoutratevideo loopnimble streamer vod hls transmuxingloggingstarttime duration seekpointrebootdvr streamslearnermonitorautomationnimble streamer web server php script pageNimble Streamer APIlivestreamnimble.confrtmp republishing transcodeIIS Media Servicsinsert logoapi accessDeep statsNimble CapacityABR DVR problemweb playerLive SwitcherAVCaptureMovieFileOutputblock downloadcontent-dispositionnot to stealLive BroadcastPost processingadd_chunk failedfake extensionMPEG DASHUbuntu artful 17.10Transcoder MPEG DASHNimble Serverstatus:errorFFMPEG;RTMP;I/O errortranscodingHotlinking ProtectionStreaming routeRTMP republishlarix broadcasterMPEG-DashPIDbroadcasterOSXpaymentstatsreloadpremium featureThumbnailsserver incorrect timeLiveLIVEdemandHow to do live stream with multiple audio trackProgressivenimble aliasesprogressivermtpno internetHLS Streamingthumbnail dvr-thumbnailLoad-Balancingnimble streamer mpeg-ts multiple inputswmsAuthSignsoundHLS Meta Tag editing.streamsdelaympeg4Secureraspberryavoid refreshreportstranscoder nimbleAndroiduser_agentdvr on wmspanelVideo cant be playedS3 AWSBroadcastcredentialslivestream bitratevbv-maxratetranscodeRepublishingVR-360Failoverpublish streamStream Delaytraffichd25Larix BroadcasterAArch64PacketizingABR bitratesbuildcontentRTMP Republishdomain lockoutputUsers limitcloudflareVOD HLS streaming on public IPincoming streamno soundInvalid frame headerHTML5 playerGopNimbleStreamerav1 codecDVR Setting limitssaibufferrtsp push androidartifactscache expiryvideo streamingQuickTime.movalias routestoragedistributionfastspringmp2 audiodata slicesaliasplayer sldpspeedup my videoiOSqataritworkscdnvideo.jstransocderlivestreaminRAM Loaddiskstorage space available3.6.1-1webhookdvr to livedissapointmentpay-per-minuteSO_RCVBUFbuffering videoadvp9adjustsoftware versionnimble dvrdurationBandwidthgpuPaywallvideo and audio not matchmanage_dvrhow-toError when installingrulesDVRStreamsaws amazonIOSrestartFallbackhelpUDP MulticastMax connectionMPEG2 Videologo in streama recordwirecasthttp serverSSL requestserver ip21compatibility protocolssha265VP9CSSactionscript 3server ssl errordynamic linksTLSV 1.2 Certificateanalisyssctenimble on cloudprerolllatencyscte35ubuntu 18Teradek DecoderViewer StatsNDICross DomainSRT protocolabr fallbackNimble connectionsmd5pricingissuecpugoogle cloud storagePORTDVR SettinganalyseStreamID

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.