Results 1 to 2 of 2

Thread: Stream not found. Apple HLS

  1. #1
    Join Date
    Mar 2016

    Default Stream not found. Apple HLS


    Some time ago i have implemented
    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 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 = null;
    		Publisher publisher = streamData.publisher;
    		if (showLive) {
    			String liveStream = streamData.config.liveStream;
    			streamData.provider = new PublishingProviderLive(publisher, publisher.getMaxTimecode(), liveStream);
  "Stream: " + + " switching to live stream: " + liveStream);
    		} else {
    			String overlay = streamData.config.overlayFile;
    			streamData.provider = new PublishingProviderMediaReader(publisher, publisher.getMaxTimecode(), overlay);
    			if (!fileHasEnded) {"Stream: " + + " switching to overlay: " + overlay);				
    			} else {
    				logUtil.debug("Stream: " + + " 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) {
    	 = name;
    			this.showLive = showLive;
    			this.config = config;
    			this.provider = provider;
    			this.publisher = publisher;
    		boolean play() {
    			try {
    			} catch (Exception e) {
    				logUtil.error("Live playback exception happened: " + e.getMessage());
    				return false;
    StreamData#play() is called elsewere

    Always return false playing a PublishingProviderLive. Why?

  2. #2



    The most likely reason it isn't working is because; is returning false for some reason. This method is supposed to be called in a loop and it will process any new packets that have arrived on the stream. When false is returned, you should switch to another publishing provider so that the stream resumes. If you continue calling the same provider, it will continue to return false and the output stream will stall. Looking at your code, assuming you're calling; at regular intervals, the most likely reason that it's not working is because the live stream name that you are passing to PublishingProviderLive doesn't exist.


Similar Threads

  1. Stream not found Warning Message when play HLS
    By eqi013 in forum Live Streaming and Encoders
    Replies: 1
    Last Post: 04-13-2015, 08:30 AM
  2. Apple HLS Stream info - not found
    By jstobbe in forum Wowza Streaming Engine in the Cloud
    Replies: 1
    Last Post: 02-18-2015, 02:44 PM
  3. Recording tutorial, No camera found, No microphone found
    By SFGMedia in forum Tutorials Discussion
    Replies: 1
    Last Post: 10-11-2013, 11:17 AM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts