Forum

EXT-X-PLAYLIST-TYPE:VOD

Jesse 2019-09-25 18:41:59 UTC in Nimble Streamer

Hi,
Im looking into adding
#EXT-X-PLAYLIST-TYPE:VOD to the manifest files m3u8 for HLS streaming.
Apple specs seem to require this.

https://developer.apple.com/documentation/http_live_streaming/example_playlists_for_http_live_streaming/video_on_demand_playlist_construction

I have searched the forums and the documentation but i was unable to find how to add it. Would it be possible to add this?

Thanks in advance for an answer,
Best regards,
Jesse

Alex Pokotilo 2019-09-26 01:58:45 UTC 

#EXT-X-PLAYLIST-TYPE neither required by HLS standard nor Apple.
this is from link you provided:

EXT-X-PLAYLIST-TYPE: Provides mutability information that applies to the entire playlist file. This tag may contain a value of either EVENT or VOD. If the tag is present and has a value of EVENT, the server must not change or delete any part of the playlist file (although it may append lines to it). If the tag is present and has a value of VOD, the playlist file must not change.

As Nimble adds #EXT-X-ENDLIST for mpegts VOD and adding #EXT-X-PLAYLIST-TYPE not required so Nimble doesn't add it to #EXT-X-VERSION:3 mpegts chunklists to not confuse old players and devices.

But it add it for new #EXT-X-VERSION:7 fmp4 vod chunklist.

To access your vod file and get #EXT-X-VERSION:3 playlist with mpegts chunk you open stream with url like
http://127.0.0.1:8081/vod/sample.mp4/playlist.m3u8
This way you will not get #EXT-X-PLAYLIST-TYPE

fmp4 chunks and playlist #EXT-X-VERSION:6 with chunklist #EXT-X-VERSION:7 accessible through
http://127.0.0.1:8081/vod/sample.mp4/playlist_fmp4.m3u8

video chunklist accessible via http://127.0.0.1:8081/vod/sample.mp4/video.m3u8
and starts with

#EXTM3U
#EXT-X-VERSION:7
#EXT-X-INDEPENDENT-SEGMENTS
#EXT-X-PLAYLIST-TYPE:VOD
#EXT-X-MAP:URI="video.fmp4?nimblesessionid=10"
#EXT-X-TARGETDURATION:10
#EXT-X-MEDIA-SEQUENCE:0

and the same for audio chunklist
http://127.0.0.1:8081/vod/sample.mp4/audio.m3u8

So you will not have any issues if you don't have #EXT-X-PLAYLIST-TYPE for old mpegts chunks

Thach 2021-01-20 14:28:26 UTC 

Why I only get #EXT-X-VERSION:6 in playlist. I can not create #EXT-X-VERSION:7 like your result

Yury 2021-01-20 22:29:02 UTC 

Thach, I see you've posted a ticket into our helpdesk so we'll follow up there.

Post a reply


Post a new question

Categories:

Tags:

nimbleNimble StreamerFAQHLSDVRnimble streamerhlsRTMPABRcacheNimbleAPItranscoderSRTrtmpsrtwmsauthapidvrffmpegudpRTSPVODsldpfailoverDASHstreamingrtspwmspanelSLDPliveyoutubevodUDPmp4paywallabrsubtitlesDispersaLarixmulticastvideolivestreamingWMSAuthMPEG-DASHpay-per-viewgeoaudiodashstreameredgeWMSPanelbandwidthsslandroidthumbnailWindowsencryptionhttpswhite labelplaylistconfigsmilFFMPEGperformanceMPEG-TSCORSchunksraspberry pire-streamingmpeg-dashpublish controlcorscloudfrontDRMRepublishingadvertizerrepublishingvlcS3user agentNDIristrules.confadvertisingipv6MPEGTSFastSpringRAMwms panelRecordingFMLEfileVATcrossdomainSMILmpegtsaespushakamaiwowzaserversPullmobilecodecerrorbalanceSSLTranscodem3u8chromecastplaylist_dvrWowzaIDconfigurationreportingbugdownloadsnapshotmpeg-tsAndroidnimblestreamerdomainawsLarix BroadcasterloopraspianchunkAWSoriginCDNipupdatescte35amazonroutesVidillionHttpsIPsecurityUInimble webcam html5Registration Issuedirect link32-bit Windowstwitchcache_controlitworkmelive abr support mpeg-dashwmspanelapiresumertmp abrbeirutWWDCdubaideep statsCentOS v6.4hls to multicast udpnooblogIIS Smooth StreamingcloudmediaAbrHTTPSHot-linking protectionHDSvaddioalertsjwplayer websitewhmcsbaselinetimelinenginx rtmp nimbledurationAV BridgeAuthentication in HLSPi4VaddiopricePI3 UbunturesourcelimitOld logsCloud Storageview timescte-35screencastNimble Streamer APIinterfacesattaching domainsencrytpionloadbalancingcontainer*metadatamod_rewritesdpshoutcastprofilelarix abrAxisgbpsID3 tagswmsauthsignhighhds streamdatmessageWMSCONFIG_HOMErestreamcostlocalcisco.net hotlinkhls restreaminggentoo install server nimbleVLCPublic Iptranscoding using NvidiaPaywall AuthniblerofflinedocumentationNimble streamer upgradeTrancoderconcurrent-connectionsVideo Playertransocding republishingdecoderAliasServer-sidelost trafficstoppedNimble Streamer versionmainicecast urlrulelebanonlocationmanifesthot linkingMP4 not playedspacechangepay per viewamfLarix Groveseekingdvr_archivesmpeg dashwildcardobsTCORaspian Busterexportopenssllimuxamazon web servicePlayReadynginxonSteam stopped workingdvr stream twiceHLS vodrepublishhot-linkAXVVGExpression Encoderanalyticspaywalapplicationblocknvenc7HLS PlayerbrandingDASH Playerjpegtrialmicrosoft streamMP4errorsdebianrocksoftlog traffic statslive video on demandbandwithscreen freezecan't registerservernimblesessionidFFmpegmultiple originsABR DASHprogressive downloadprivate networkLarge DVR filesno WMSPanelheaderlive videosourceinterleavingSLDP PLayerlog nimble analysertmp playbackmac osx installAdsvideojswotermarkvimeohelp errorvideo stopbitrate#restreamload balanceadaptiveAV1 codecstreamsJWPLAYERNGINX-RTMPcache expirycdnvsomHEVCattachmentlive streamViewer Statsvod no soundconcurrent connection4Kcrossdomain more then 1 domaindvr streamconnectivityUbuntu 20 ARM - AWSunique visitorDelaympeg2tscpuServer-Side-Task-Controldisk migrationdvr on wmspanelWidevinescreen capturestereo to monoFairplaybuttAWS 3drmaes encryptionsubscriptionnot foundCPU LoadControl APIpullAS3TranscoderLive streamingWMSPanel settingslive pull settingsABR HLS Bitratesrtmp for YouTubeinstall players setup ready to goDVRSettingstwitch larix broadcaster androidadd_chunk failedPost processingfake extensionAppleDelete recordsnimble streamer web server php script pageautomationudp streamingoutrateicecastvideo loopnimble streamer vod hls transmuxinglogginglearnerstarttime duration seekpointrebootmonitorinsert logonimble.confrtmp republishing transcodeIIS Media Servicstrackapi accessDeep statsloadbalancerAVCaptureMovieFileOutputblock downloadweb playerdvr streamslivestreamcontent-dispositionNimble CapacityABR DVR probleminvalidMPEG DASHUbuntu artful 17.10Transcoder MPEG DASHLive SwitcherNimble Servernot to stealLive BroadcastfacebookHotlinking ProtectionStreaming routeSecurityRTMP republishpaymentstatsreloadssaiDVR Setting limitadvp9premium featureserver incorrect timeThumbnailscontentRTMP RepublishLiveLIVErmtpno internetdemandIOSHow to do live stream with multiple audio trackProgressivenimble aliasesavoid refreshraspberryLoad-Balancingnimble streamer mpeg-ts multiple inputswmsAuthSignthumbnail dvr-thumbnailPaywallreportssoundHLS Meta Tag editing.credentialsS3 AWSVideo cant be playedtranscodevbv-maxratetranscoder nimbleHTML5 playerSecureJetson NanoFailoverVR-360livestreamintransocderautomateuser_agentbuildrist set fecABR bitratesPacketizingstorage space availablediskdelaympeg4alias route.movstoragepublish streamStream Delaytraffichd25AArch64DVRRecordingAuthlivestream bitratedockerdomain lockVOD HLS streaming on public IPoutputUsers limitcloudflarelarixanalisysscteInvalid frame headerno soundincoming streamGopdistributionLL-HLS DVRav1 codecNimbleStreamerqataritworkscdnvideo.jswirecasta recordhttp serverfastspringNimble streamermp2 audiodata slicesaliasplayer sldpabr fallbackNimble connectionsissuepricinggoogle cloud storageVP9buffering videoSO_RCVBUFCentos 8dissapointmentpay-per-minutebufferlatencyQuickTimevideo streamingwebhookdvr to liverestarthelpFallbackcompatibility protocolsmultiplexserver ip21SSL request3.6.1-1Max connectionUDP Multicastsha265broadcasterOSXmd5rulesError when installinghow-tomanage_dvrDVRStreamsaws amazonDVR SettingPORTanalyseStreamIDmulti-viewerincomingMPEG2 Videologo in streamrtpnimble dvrBandwidthportsRIST Bondingplayoutmultiple audio udphotlink protectionRaspberryPi4ultra low latencyprogressivebroadcast videoCross DomainSRT protocolvideo audioartifactsrtsp push androidtuningRemote StorageWowza AgentSSAI4GwebrtcNimble_CrushTeradek Decoderubuntu 18fallbackRTMP to SRTprerollstreamnimble on cloudrtmp sldp nimbleBroadcastSnapshotsLinuxRaspberrytasks-controlgpu{stream}MPEG-Dashlarix broadcasterLL-HLSthumbnailsvideo and audio not matchLarix broadcasterOBSPIDurlGoogle DriveHLS StreamingNetworkRAM Loadstatus:errortranscodingdownTonyFFMPEG;RTMP;I/O errorspeedup my videoiOSdvbsubfolderTLSV 1.2 Certificatedynamic linksCSSactionscript 3server ssl errorRistmultiplefairplayNginxmultiple audioadjustsoftware versionre-publishingSRT RTMP

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.