• SEARCH
  • DOWNLOADS
  • MY ACCOUNT
  • Buy (0)
  • CONTACT
  • Free Trial
Wowza Logo
  • PRODUCTS
  • DEVELOPER
  • SOLUTIONS
  • PRICING
  • RESOURCES
  • SUPPORT
  • My Account
  • Buy (0)
  • SEARCH
  • Ask a question
  • Forums
    • Wowza ClearCaster
    • Wowza Streaming Engine
    • Wowza Streaming Cloud
    • Wowza Player
    • Wowza GoCoder SDK
    • Wowza Developer Dojo
    • Topics
    • Questions
    • Articles
    • Users
    • Badges
  • Sign in
  • Community Home /
  • Wowza Streaming Engine /
  • Live Streaming and Encoders /
avatar image
Question by Tadas Zidonis · Apr 18, 2016 at 08:40 AM · live streaming and encoders

Stream not found for Apple HLS

Hello,

Some time ago i have implemented https://www.wowza.com/forums/showthread.php?48621-Switching-between-live-streams

Using lower-level API.

Basically live stream is created. Another incoming live stream and static video is switched (sort of overlay).

Everything was working until recently i saw logs full of following errors:

HTTPStreamerAdapterCupertinoStreamer.onPlaylist: Stream not found [live/smil:lrytas.smil/chunklist_w866886594_b864000_slLT_t64SEk=.m3u8]: lr_hi_NLT

Investigation led to this conclusion:

When live incomming stream reconnection happens and my switcher in playing live stream (is static video is shown nothing happens) apple HLS player (JWPlayer or http://dailymotion.github.io/hls.js/demo/) stops playing.

Page reload returns 404. Server restart solves issue until next reconnect.

I suspect temporal live stream publish of 'empty' stream does this.

Wowza test players RTMP, HDS are working then.

Question what to do? Is this apple HLS issue, wowza, or my code?

this is actual switch method:

private void switchStreams(StreamData streamData, boolean showLive, boolean fileHasEnded) {
		if (streamData.provider != null)
			streamData.provider.close();
		streamData.provider = null;
		
		Publisher publisher = streamData.publisher;
		if (showLive) {
			String liveStream = streamData.config.liveStream;
			streamData.provider = new PublishingProviderLive(publisher, publisher.getMaxTimecode(), liveStream);
			streamData.provider.setRealTimeStartTime(System.currentTimeMillis());
			logUtil.info("Stream: " + streamData.name + " switching to live stream: " + liveStream);
		} else {
			String overlay = streamData.config.overlayFile;
			streamData.provider = new PublishingProviderMediaReader(publisher, publisher.getMaxTimecode(), overlay);
			streamData.provider.setRealTimeStartTime(System.currentTimeMillis());
			if (!fileHasEnded) {
				logUtil.info("Stream: " + streamData.name + " switching to overlay: " + overlay);				
			} else {
				logUtil.debug("Stream: " + streamData.name + " restarting overlay file");
			}
			
		}
	}


Stream data class:

private class StreamData {
		String name;
		boolean showLive;
		TranscoderDestinationConfig config;
		
		IPublishingProvider provider;
		Publisher publisher;
		
		public StreamData(String name, boolean showLive, IPublishingProvider provider, Publisher publisher,
				TranscoderDestinationConfig config) {
			
			this.name = name;
			this.showLive = showLive;
			this.config = config;
			this.provider = provider;
			this.publisher = publisher;
		}
		
		boolean play() {
			try {
				return provider.play(publisher);
			} catch (Exception e) {
				logUtil.error("Live playback exception happened: " + e.getMessage());
				return false;
			}
		}
	}


StreamData#play() is called elsewere

BTW.
provider.play(publisher)


Always return false playing a PublishingProviderLive. Why?
Comment

People who like this

0 Show 0
10 |600 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

0 Replies

· Add your reply
  • Sort: 

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this Question

Answers Answers and Comments

1 Person is following this question.

avatar image

Related Questions

Push Publishing + Live Repeater 0 Answers

Ugly Horizontal lines during movement 1 Answer

Live Audio Streaming on HTML5 2 Answers

passing Query String in the Repeater URL 4 Answers

RTPS live stream on android partially working 4 Answers

Hot Topics
  • AWS Hosting
  • Mobile SDK
  • Deployment Options
  • Load Balancing
  • Content Security
Product Sign-in
  • Wowza Streaming Cloud
  • Wowza Player
Under the Hood
  • Developer Tools
  • Wowza System Status
  • Test Players
  • Developer IDE
Resellers
  • Find a Reseller
  • Reseller Portal
  • Become a Reseller
Company
  • About Us
  • Blog
  • News
  • Events
  • Careers
  • Customers
  • Partners
  • Contact Us
Stay Connected
Get Monthly Newsletter
Select a Language
  • English
    • English
    • Español
    • 日本語
    • 한국어
    • हिन्दी भाषा
    • 中文
    • русский язык

© 2005–2019 Wowza Media Systems, LLC. All rights reserved.   Terms | Privacy | Trademarks | Legal


Enterprise
Social Q&A

  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Create an article
  • Forums
  • Wowza ClearCaster
  • Wowza Streaming Engine
  • Wowza Streaming Cloud
  • Wowza Player
  • Wowza GoCoder SDK
  • Wowza Developer Dojo
  • Explore
  • Topics
  • Questions
  • Articles
  • Users
  • Badges