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 StreamerFAQHLSDVRRTMPhlsnimble streamerABRwmsauthcacheNimbleffmpegdvrAPIapitranscoderVODstreamingfailoverDASHwmspanelrtmpvodudprtsppaywallsubtitlesRTSPDispersayoutubelivelivestreamingmp4MPEG-DASHWMSAuthpay-per-viewgeodashvideostreamerabrWindowsencryptionUDPhttpswhite labeluser agentconfigsmilFFMPEGmulticastsslaudioMPEG-TSedgeCORSre-streamingchunksraspberry piandroidsldpbandwidthmpeg-dashadvertizercorsvlcDRMrules.confadvertisingipv6FastSpringRAMwms panelthumbnailFMLEVATcrossdomainupdatempegtsRecordingplaylistSMILakamaiaespushserversSRTwowzaSSLerrorm3u8Transcodebalanceplaylist_dvrWowzachromecastconfigurationreportingsrtbugdownloadIDS3nimblestreamerdomainperformancempeg-tsraspianpublish controlcodecWMSPanelmobilerepublishingVidillionHttpsIPloopawschunknimble 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 urllebanonlocationmanifestruleMP4 not playedspacehot linkingServer-sidechangetasks-controlamfseekingstoppedplayoutmainPlayReadylimuxamazon web servicedvr streamconnectivityunique visitorondvr stream twicealiasdata slicespay per viewHLS vodAXVVGhot-linkblockanalyticsapplicationpaywalmpeg dashTCO7opensslbrandingtrialMP4microsoft streamerrorsrocksoftlog traffic statsExpression EncoderdebianHLS Playerlive video on demandABR DASHprogressive downloadDASH Playerbandwithmultiple originsFFmpegnimblesessionidserverlog nimble analysertmp playbackvideojsbitrateSnapshotsprivate networkadaptiveAV1 codecJWPLAYERNGINX-RTMPPullno WMSPanellive videomac osx installsoundHLS Meta Tag editing.streamsattachmentsourcecrossdomain more then 1 domain4Kwotermarkhelp errorvimeoconcurrent connectionvod no soundload balancebuttFairplaycdnvsomRemote StorageWowza Agentlive streamnot foundfallbackamazonControl APIWidevinepullTranscoderLive streamingAS3securitympeg2tsServer-Side-Task-Controldisk migrationinstall players setup ready to goDVRSettingstwitch larix broadcaster androidAppleDelete recordsstereo to monoscreen capturedrmicecastresourceaes encryptionsubscriptionvideo looplive pull settingsABR HLS Bitratesstarttime duration seekpointrebootrtmp for YouTubemonitorIIS Media Servicsrtmp republishing transcodenimble.confDeep statsapi accessdvr streamsoutrateinterleavingweb playernimble streamer web server php script pageautomationNimble Streamer APIlivestreamNimble CapacityABR DVR problemnimble streamer vod hls transmuxingloggingscreen freezecan't registercontent-dispositionlearnerheaderactionscript 3Live SwitcherCross Domaininsert logonot to stealLive BroadcastDVRStreamsNimble Serverblock 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 aliasesProgressiveincoming streamno soundstatsreloadvp9adRTMP republishrmtpno internetSecuredemandlivestreamintransocderAndroiduser_agentdvr on wmspanelS3 AWSreportsraspberryavoid refreshIOSrestartPIDHLS Streamingthumbnail dvr-thumbnailwmsAuthSignnimble streamer mpeg-ts multiple inputsLoad-BalancingDVR SettingPORTlatencycredentialsadjusttranscodeRepublishingHTML5 playerdelaympeg4transcoder nimbleVR-360Failoverhttp servera record21server ipBroadcastLarixbuildABR bitratesPacketizingav1 codecNimble connectionsabr fallbackTeradek Decoderubuntu 18SLDPssaiDVR Setting limitbufferartifactsrtsp push androidcache expiryQuickTimevideo streamingtraffichd25publish streamAArch64buffering videoSO_RCVBUFdissapointmentpay-per-minuteAWSiOSspeedup my videolivestream bitrateUDP Multicastlogo in streamMPEG2 Videonimble dvrfastspringmp2 audioprogressivewebhookdvr to liveCSSdistributionstoragealias route.movoutputcloudflareVOD HLS streaming on public IPdomain lockRTMP RepublishcontentrulesError when installingvideo and audio not matchcloudfrontanalisyssctestorage space availabledisk3.6.1-1qataritworkscdnvideo.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.