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

Post a reply


Post a new question

Categories:

Tags:

nimbleNimble StreamerFAQHLSDVRRTMPnimble streamerhlsABRwmsauthcacheNimbleffmpegdvrAPIapitranscoderfailoverrtmpVODstreamingDASHwmspanelvodrtspudppaywallsubtitlesDispersaRTSPyoutubelivelivestreamingmp4MPEG-DASHWMSAuthpay-per-viewgeosldpdashstreamervideoabrWindowsencryptionUDPhttpswhite labeluser agentconfigsmilmulticastFFMPEGsslaudioMPEG-TSedgeCORSchunksraspberry pire-streamingandroidbandwidthmpeg-dashadvertizercorsDRMvlcS3rules.confadvertisingipv6FastSpringRAMwms panelthumbnailFMLEVATcrossdomainupdatempegtsRecordingplaylistSMILakamaiaespushwowzaserversSRTSSLerrorm3u8Transcodebalanceplaylist_dvrchromecastWowzaIDreportingconfigurationsrtbugdownloadnimblestreamerdomainraspianVidillionHttpsloopIPWMSPanelmobilerepublishingawspublish controlcodecmpeg-tsAWSperformancechunknimble webcam html5UIRegistration Issuedirect link32-bit Windowstwitchanalysecache_controlitworkmelive abr support mpeg-dashrtmp abrbeirutWWDCdubaideep statshls to multicast udplogIIS Smooth StreamingcloudmediaCDNHTTPSAbrHot-linking protectionHDSvaddioMPEGTSalertsNDIViewer Statsjwplayer websiteAuthentication in HLSwhmcsbaselineCentOS v6.4pricenginx rtmp nimblelimitOld logsAV BridgescreencastVaddioPI3 Ubuntuview timeattaching domainswmspanelapiWMSCONFIG_HOMEmessageinterfacesrestreamcostoriginDVRRecordingloadbalancingmetadatamod_rewriteprofileAxisgbpsID3 tagshls restreamingwmsauthsignhighhds streamVLCresumeniblerciscolocalVideo Playertransocding republishingdecoder.net hotlinkAliaslost trafficgentoo install server nimbletranscoding using NvidiaPublic IpPaywall Authdocumentationofflineipconcurrent-connectionsTrancoderfileicecast urlrulehot linkinglebanonlocationmanifestchangeamfMP4 not playedspaceServer-sidetasks-controlplayoutstoppedseekingmainondvr streamconnectivityunique visitoraliasdata slicesPlayReadylimuxamazon web serviceHLS voddvr stream twicepay per viewanalyticsapplicationpaywalAXVVGhot-linkblockmpeg dashdvr_archivesTCO7opensslbrandingtrialMP4microsoft streamdebianerrorsrocksoftlog traffic statsExpression Encoderlive video on demandbandwithHLS PlayerABR DASHprogressive downloadDASH Playermultiple originsFFmpegnimblesessionidserverheadersourcelog nimble analysertmp playbackSnapshotsvideojsbitrateprivate networkPullvideo stopadaptiveAV1 codecJWPLAYERNGINX-RTMPno WMSPanellive videosoundHLS Meta Tag editing.streamsattachmentmac osx installcrossdomain more then 1 domain4Kwotermarkconcurrent connectionvod no soundhelp errorvimeoload balanceFairplayAWS 3buttRemote StorageWowza Agentcdnvsomnot foundlive streampullWidevineAS3fallbackamazonControl APITranscoderLive streamingsecuritympeg2tsServer-Side-Task-Controldisk migrationinstall players setup ready to goDVRSettingstwitch larix broadcaster androidAppleDelete recordsstereo to monoscreen capturedrmresourceaes encryptionvideo loopicecastsubscriptionstarttime duration seekpointrebootlive pull settingsABR HLS Bitratesmonitorrtmp for YouTubeDeep statsapi accessIIS Media Servicsrtmp republishing transcodenimble.confinterleavingweb playeroutratedvr streamsnimble streamer web server php script pageautomationNimble Streamer APIlivestreamscreen freezecan't registercontent-dispositionnimble streamer vod hls transmuxingloggingactionscript 3ABR DVR problemNimble CapacitylearnerCross DomainLive Switcherinsert logoNimble ServerDVRStreamsnot to stealLive BroadcastRTMP republishblock downloadAVCaptureMovieFileOutputPIDfake extensionadd_chunk failedPost processingMPEG DASHTranscoder MPEG DASHUbuntu artful 17.10broadcastertranscodingFFMPEG;RTMP;I/O errorstatus:errorStreaming routeHotlinking ProtectionMPEG-Dashlarix broadcasterpremium featureThumbnailsserver incorrect timeLIVELivenimble on cloudroutesprerollpaymentHow to do live stream with multiple audio tracknimble aliasesProgressivestatsreloadvp9adrmtpno internetdemandSecureAndroiduser_agentdvr on wmspanelS3 AWSVideo cant be playedprogressiveBroadcastLarixreportsraspberryavoid refreshthumbnail dvr-thumbnailwmsAuthSignnimble streamer mpeg-ts multiple inputsLoad-BalancinglatencyDVR SettingPORTadjustcredentialstranscodeRepublishingdelaympeg4transcoder nimbleVR-360Failoverav1 codechttp servera record21server ipbuildABR bitratesPacketizingNimble connectionsabr fallbackubuntu 18Teradek DecoderSLDPspeedup my videoiOSwebhookdvr to livefastspringmp2 audiooutputUsers limitVOD HLS streaming on public IPcloudflaredomain lockRTMP Republishcontentdistributionstoragealias route.movanalisysscterulesError when installingvideo and audio not matchcloudfrontPaywallCSSartifactsrtsp push androidcache expiryQuickTimevideo streamingincoming streamInvalid frame headerno soundtraffichd25publish streamAArch643.6.1-1diskstorage space availablessaiDVR Setting limitbufferGopHTML5 playerlogo in streamMPEG2 Videolivestream bitrateMax connectionUDP Multicastbuffering videoSO_RCVBUFdissapointmentpay-per-minuteHLS StreaminghelprestartIOSnimble dvrdurationBandwidthlivestreamintransocderqataritworkscdnvideo.jsgoogle cloud storageissuepricing

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.