Issue configuring CORS for HTTP and HTTPS streaming with HTML5 players

Josh 2017-05-26 15:04:37 UTC in Nimble Streamer


I am currently trying to configure Nimble streamer to work properly with CORS on HTML5 players, but have not been able to get it working so far.

Currently, my nimble.conf file has the following entries for attempting to get it working:

access_control_allow_origin = *
crossdomain_xml_allow_access_from_domain = *
crossdomain_xml = /etc/nimble/crossdomain.xml
access_control_allow_credentials = true
access_control_allow_headers = Range

And additionally I have the following in the /etc/nimble/crossdomain.xml

<?xml version="1.0"?><cross-domain-policy><allow-access-from domain="*" secure="false"/></cross-domain-policy>

I do have SSL configured, with a port defined and recognized in WMSpanel. I am using the certificate for the TLD that I use nimble for.

But so far this has not gotten it working when I try to test HTTP streaming with Bitdash's test player, and HTTPS doesn't load in the preview for the stream within WMSPanel.

Any help I could get I would appreciate in this working! I'm kind of at a roadblock in figuring it out currently

Alex Pokotilo 2017-05-28 12:29:51 UTC 

To setup hls please follow

then open your browser developer tools and what's wrong with your Network tab. Check Console tab either

Josh 2017-05-28 13:40:10 UTC 

Thank you, I haven't tried combining the certificate into one file. I will do this to see if this helps solve the issue, and get back to this thread :)

Josh 2017-06-04 04:05:05 UTC 

Just wanted to let anyone who may wander to this thread know that I fixed my specific issue.

My issue was that I had not added our domain into WMSPanel, and once I did that, and was getting video source address via my TLD over HTTPS instead of my IP, everything worked just fine!

This does work with wss:// and secure SLDP deliver with the new protocol/player for it.


Alex Pokotilo 2017-06-04 05:33:58 UTC 

Hi Josh,
what is your impression of SLDP ?

Josh 2017-06-04 13:56:30 UTC 

I'm enjoying it quite a bit actually in testing it!

The only real issue I have is that sometimes the video gets... jittery. For lack of a better term. There gets to be a kind of flutter to the video quality that doesn't happen with RTMP or HLS. Been toying on my end when I can to see if there is anything on my end I can do. Currently using XSplit Pro to stream to Nimble.

Besides that, I am really enjoying where this is going! The HTML5 player is super small too, which is just fantastic.

Raj 2017-09-20 20:19:17 UTC 

We have the same problem. Where do you add the domain in WMSpanel?

Alex Pokotilo 2017-09-21 03:24:23 UTC 

this thread is about stream preview problem and problem fixed when custom domain was added in server settings.
To do that:
- open server list
- chose your server and open it's settings
- find "Manage custom IP/Ports" and click on it
- specify custom domain what wmspanel preview will use when you click stream preview.

If you actually face with different problem or answer is not clear please contact us via

Post a reply

Post a new question



nimbleNimble StreamerFAQHLSDVRRTMPnimble streamerhlsABRcachewmsauthNimbleAPItranscoderffmpegdvrapiVODfailoverrtmpstreamingDASHwmspanelvodudprtsppaywallsubtitlesDispersaRTSPyoutubelivelivestreamingmp4MPEG-DASHWMSAuthpay-per-viewgeosldpdashvideostreameredgeabrWindowsencryptionhttpsUDPwhite labelconfigsmiluser agentFFMPEGmulticastSRTsslaudioMPEG-TSre-streamingmpeg-dashchunksraspberry piCORSandroidsrtbandwidthadvertizercorsvlcS3WMSPanelDRMrules.confadvertisingipv6MPEGTSFastSpringRAMwms panelthumbnailFMLEVATcrossdomainupdateRecordingmpegtsplaylistSMILwowzaakamaiaespushserversm3u8TranscodeSSLerrorbalanceplaylist_dvrWowzachromecastconfigurationIDreportingbugdomainnimblestreamerperformanceIPloopHttpsVidillionchunkmobilerepublishingawsAWSdownloadorigincloudfrontpublish controlcodecmpeg-tsCDNraspiannimble webcam html5UIroutesbitrateRegistration Issuedirect link32-bit Windowstwitchanalysecache_controlitworkmelive abr support mpeg-dashwmspanelapirtmp abrbeirutWWDCdubaideep statshls to multicast udplogcloudIIS Smooth StreamingmediaHot-linking protectionHTTPSAbrHDSvaddioalertsAuthentication in HLSCentOS v6.4jwplayer websitepricebaselinewhmcslimitOld logsscreencastnginx rtmp nimbleAV BridgeVaddioattaching domainsPI3 Ubuntuview timeWMSCONFIG_HOMEmessagerestreamcostinterfacesDVRRecordingloadbalancingmod_rewritemetadataprofilehls restreamingID3 tagsgbpsAxisVLCwmsauthsignhighhds streamresumeniblerlocalciscodecodertransocding republishingVideo hotlinkAliaslost trafficgentoo install server nimblePublic Iptranscoding using NvidiaPaywall AuthlocationlebanonmanifestofflinedocumentationipMP4 not playedspaceTrancoderconcurrent-connectionsicecast urlfileruleseekinghot linkingchangeamfServer-sideplayoutPlayReadyamazon web servicelimuxtasks-controldvr stream twicestoppedmainhot-linkAXVVGondata slicesaliasblocknvencconnectivitydvr streamunique visitorHLS vodpay per viewpaywalapplicationanalytics7brandingtrialMP4microsoft streamdvr_archivesmpeg dasherrorsobsTCOlog traffic statsrocksoftopenssldebianExpression Encoderprogressive downloadABR DASHlive video on demandFFmpegmultiple originsnimblesessionidbandwithHLS PlayerheaderDASH Playerserverlog nimble analysertmp playbackvideojssourceSnapshotsadaptiveAV1 codecNGINX-RTMPJWPLAYERPullvideo stopprivate networkLarge DVR filescrossdomain more then 1 domain4Kno WMSPanelsoundHLS Meta Tag editing.streamslive videoattachmentmac osx installvod no soundconcurrent connectionwotermarkhelp errorvimeoAWS 3buttload balanceFairplayfallbackamazonControl APIRemote StorageWowza AgentLive streamingTranscodervsomcdnnot foundsecuritylive streampullAS3Widevinempeg2tsServer-Side-Task-Controltwitch larix broadcaster androidDVRSettingsinstall players setup ready to goDelete recordsAppledisk migrationicecastscreen capturestereo to monodrmvideo loopresourceaes encryptionsubscriptionstarttime duration seekpointrebootmonitordvr streamsABR HLS Bitrateslive pull settingsnimble.confrtmp republishing transcodeIIS Media Servicsautomationnimble streamer web server php script pageNimble Streamer APIlivestreamrtmp for YouTubeapi accessDeep statsinterleavingweb playerABR DVR problemNimble CapacityoutrateLive Switcherscreen freezecan't registercontent-dispositionactionscript 3Live Broadcastnot to stealnimble streamer vod hls transmuxinglogginglearnerCross DomainNimble Serverinsert logoRTMP republishPIDAVCaptureMovieFileOutputblock downloadbroadcasterOSXPost processingadd_chunk failedfake extensionMPEG DASHUbuntu artful 17.10Transcoder MPEG DASHtranscodingFFMPEG;RTMP;I/O errorstatus:errornimble on cloudprerollHotlinking ProtectionStreaming routepremium featureThumbnailsserver incorrect timelarix broadcasterMPEG-DashLiveLIVEHow to do live stream with multiple audio trackpaymentProgressivenimble aliasesstatsrmtpno internetreloadSecuredemandreportsraspberryavoid refreshAndroiduser_agentdvr on wmspanelVideo cant be playedS3 AWSBroadcastLarixprogressivelivestream bitratecredentialsHLS Streamingthumbnail dvr-thumbnailLoad-Balancingnimble streamer mpeg-ts multiple inputswmsAuthSignPORTDVR Settingvbv-maxratetranscodeRepublishinglatencyadjustdelaympeg4buildPacketizingABR bitratestranscoder nimbleubuntu 18Teradek DecoderSLDPVR-360Failoverabr fallbackNimble connections.movalias routestoragedistributionspeedup my videoiOSgoogle cloud storagepricingissuecpucloudflareUsers limitoutputVOD HLS streaming on public IPdomain lockcontentRTMP RepublishCSSanalisyssctevideo.jsitworkscdnqatartransocderlivestreaminrtsp push androidartifactscache expiryvideo streamingQuickTimepublish streamtraffichd25AArch64incoming streamno soundInvalid frame headerstorage space availabledisk3.6.1-1mp2 audiofastspringwebhookdvr to livedissapointmentpay-per-minuteSO_RCVBUFbuffering videoadvp9nimble dvrdurationBandwidthgpuav1 codecNimbleStreamerPaywallvideo and audio not matchDVRStreamsaws amazonrulesError when installingFallbackhelprestartIOSViewer StatsNDIDVR Setting limitssaibufferGopHTML5 playerMPEG2 Videologo in streamUDP MulticastMax connectiona recordwirecasthttp serverSSL requestserver ip21

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.