Results 1 to 6 of 6

Thread: Live UDP Multicast and playlist issues

  1. #1

    Default Live UDP Multicast and playlist issues

    Trying to create a playlist out of recorded files from a UDP multicast stream (H.264/AAC).

    I'm using the live recorder to save the files (MP4). The first problem I'm having is that when I play the multicast stream via a .stream file I only get audio.. and I can only get it to play back through flash. If I try to use an http play request.. it just fails. Server side it says it can't find the stream.

    The second issue I'm having is when I take those saved files and dynamically add them to a playlist of a serverside stream.. I am unable to play that stream back. Wowza complains that it can't find files.

    If I publish from flash then all works perfectly fine.. but when I use the live recorder to record a pulled udp multicast stream it fails miserably.

    Am I mismatching what is possible with server side playlists and http streams?

    An ffprobe analysis of a recorded file yields:

    ffprobe -i myStream.stream-22789278.mp4
    ffprobe version N-52508-g7becddd Copyright (c) 2007-2013 the FFmpeg developers
    built on Apr 26 2013 18:01:30 with gcc 4.6 (Ubuntu/Linaro 4.6.3-1ubuntu5)
    configuration: --enable-libx264 --enable-libmp3lame --disable-debug --enable-libfaac --enable-libspeex --enable-gpl --enable-pthreads --disable-debug --enable-shared --enable-nonfree --enable-libvpx --enable-libfreetype
    libavutil 52. 27.101 / 52. 27.101
    libavcodec 55. 6.100 / 55. 6.100
    libavformat 55. 3.100 / 55. 3.100
    libavdevice 55. 0.100 / 55. 0.100
    libavfilter 3. 60.102 / 3. 60.102
    libswscale 2. 2.100 / 2. 2.100
    libswresample 0. 17.102 / 0. 17.102
    libpostproc 52. 3.100 / 52. 3.100
    [h264 @ 0x2061720] Missing reference picture, default is 0
    [h264 @ 0x2061720] decode_slice_header error
    [h264 @ 0x2061720] Missing reference picture, default is 0
    [h264 @ 0x2061720] decode_slice_header error
    [h264 @ 0x2061720] Missing reference picture, default is 0
    [h264 @ 0x2061720] decode_slice_header error
    [h264 @ 0x2061720] Missing reference picture, default is 0
    [h264 @ 0x2061720] decode_slice_header error
    [h264 @ 0x2061720] Missing reference picture, default is 0
    [h264 @ 0x2061720] decode_slice_header error
    [h264 @ 0x2061720] Missing reference picture, default is 0
    [h264 @ 0x2061720] decode_slice_header error
    [h264 @ 0x2061720] Missing reference picture, default is 0
    [h264 @ 0x2061720] decode_slice_header error
    [h264 @ 0x2061720] Missing reference picture, default is 0
    [h264 @ 0x2061720] decode_slice_header error
    [h264 @ 0x2061720] Missing reference picture, default is 0
    [h264 @ 0x2061720] decode_slice_header error
    [h264 @ 0x2061720] Missing reference picture, default is 0
    [h264 @ 0x2061720] decode_slice_header error
    [h264 @ 0x2061720] Missing reference picture, default is 0
    [h264 @ 0x2061720] decode_slice_header error
    [h264 @ 0x2061720] Missing reference picture, default is 0
    [h264 @ 0x2061720] decode_slice_header error
    [h264 @ 0x2061720] Missing reference picture, default is 0
    [h264 @ 0x2061720] decode_slice_header error
    [h264 @ 0x2061720] Missing reference picture, default is 0
    [h264 @ 0x2061720] decode_slice_header error
    [h264 @ 0x2061720] Missing reference picture, default is 0
    [h264 @ 0x2061720] decode_slice_header error
    [h264 @ 0x2061720] Missing reference picture, default is 0
    [h264 @ 0x2061720] decode_slice_header error
    [h264 @ 0x2061720] Missing reference picture, default is 0
    [h264 @ 0x2061720] decode_slice_header error
    [h264 @ 0x2061720] Missing reference picture, default is 0
    [h264 @ 0x2061720] decode_slice_header error
    [h264 @ 0x2061720] Missing reference picture, default is 0
    [h264 @ 0x2061720] decode_slice_header error
    [h264 @ 0x2061720] Missing reference picture, default is 0
    [h264 @ 0x2061720] decode_slice_header error
    [h264 @ 0x2061720] Missing reference picture, default is 0
    [h264 @ 0x2061720] decode_slice_header error
    [h264 @ 0x2061720] Missing reference picture, default is 0
    [h264 @ 0x2061720] decode_slice_header error
    [h264 @ 0x2061720] Missing reference picture, default is 0
    [h264 @ 0x2061720] decode_slice_header error
    [h264 @ 0x2061720] Missing reference picture, default is 0
    [h264 @ 0x2061720] decode_slice_header error
    [h264 @ 0x2061720] Missing reference picture, default is 0
    [h264 @ 0x2061720] decode_slice_header error
    [h264 @ 0x2061720] Missing reference picture, default is 0
    [h264 @ 0x2061720] decode_slice_header error
    [h264 @ 0x2061720] Missing reference picture, default is 0
    [h264 @ 0x2061720] decode_slice_header error
    [h264 @ 0x2061720] Missing reference picture, default is 0
    [h264 @ 0x2061720] decode_slice_header error
    [h264 @ 0x2061720] Missing reference picture, default is 0
    [h264 @ 0x2061720] decode_slice_header error
    [h264 @ 0x2061720] Invalid mix of idr and non-idr slices
    [mov,mp4,m4a,3gp,3g2,mj2 @ 0x2060160] max_analyze_duration 5000000 reached at 5014000 microseconds
    [mov,mp4,m4a,3gp,3g2,mj2 @ 0x2060160] decoding for stream 0 failed
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'myStream.stream-22789278.mp4':
    Metadata:
    major_brand : f4v
    minor_version : 0
    compatible_brands: isommp42m4v
    creation_time : 2013-04-30 21:18:17
    Duration: 00:00:38.49, start: 0.000000, bitrate: 221 kb/s
    Stream #0:0(eng): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p, 424x240, 0 kb/s, 0k fps, 24 tbr, 90k tbn, 48 tbc
    Metadata:
    creation_time : 2013-04-30 21:18:17
    handler_name : WowzaMediaServerPro
    Stream #0:1(eng): Audio: aac (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 99 kb/s
    Metadata:
    creation_time : 2013-04-30 21:18:17
    handler_name : WowzaMediaServerPro

    So something odd is going on...

    I can clarify further if need be.

    Thanks for any and all help on this.
    Jake

  2. #2

    Default

    Hi,

    The quickest way to see what Wowza thinks of the files is to enable a HLS packetizer, so Cupertino is good, get Wowza to listen for the stream and see which codecs are in use. You should also see the fragments being built, the first 10 are shown by default. Each one is built based on the keyframe intervals in the stream along with chunkdurationtarget settings within Wowza, 10 seconds by default. If you do not see segments being built for the packetizer this will give a hint at where the problem is. Given the errors you are seeing in ffmpeg it suggests the stream has no or very few keyframes.

    Andrew.

  3. #3

    Default

    In looking at the logs for the Cupertino fragments.. I'm seeing this:

    2013-04-30 15:18:24 MDT comment server INFO 200 - LiveStreamPacketizerCupertino.init[x/_definst_/myStream.stream]: chunkDurationTarget: 10000 - - - 40.627 - - - - - - - - - - - - - - - - - - - - - - - - -
    2013-04-30 15:18:24 MDT comment server INFO 200 - LiveStreamPacketizerCupertino.init[x/_definst_/myStream.stream]: chunkDurationTolerance: 500 - - - 40.628 - - - - - - - - - - - - - - - - - - - - - - - - -
    2013-04-30 15:18:24 MDT comment server INFO 200 - LiveStreamPacketizerCupertino.init[x/_definst_/myStream.stream]: audioGroupCount: 3 - - - 40.629 - - - - - - - - - - - - - - - - - - - - - - - - -
    2013-04-30 15:18:24 MDT comment server INFO 200 - LiveStreamPacketizerCupertino.init[x/_definst_/myStream.stream]: playlistChunkCount:3 - - - 40.63 - - - - - - - - - - - - - - - - - - - - - - - - -
    2013-04-30 15:18:24 MDT comment server INFO 200 - MediaStreamMap.getLiveStreamPacketizer: Create live stream packetizer: cupertinostreamingpacketizer:myStream.stream - - - 40.637 - - - - - - - - - - - - - - - - - - - - - - - - -
    2013-04-30 15:18:24 MDT comment server INFO 200 - CupertinoPacketHandler.startStream[x/_definst_/myStream.stream] - - - 40.641 - - - - - - - - - - - - - - - - - - - - - - - - -
    2013-04-30 15:18:24 MDT comment server INFO 200 - LiveStreamPacketizerCupertino.handlePacket[x/_definst_/myStream.stream]: Video codec:H264 isCompatible:true - - - 40.642 - - - - - - - - - - - - - - - - - - - - - - - - -
    2013-04-30 15:18:24 MDT comment server INFO 200 - LiveStreamPacketizerCupertino.handlePacket[x/_definst_/myStream.stream]: Audio codec:AAC isCompatible:true - - - 40.643 - - - - - - - - - - - - - - - - - - - - - - - - -
    2013-04-30 15:18:24 MDT comment server INFO 200 - LiveStreamPacketizerCupertino.handlePacket[x/_definst_/myStream.stream][mp4a.40.2]: AAC Audio info: {AACFrame: codec:AAC, channels:2, frequency:48000, samplesPerFrame:1024, objectType:LC} - - - 40.645 - - - - - - - - - - - - - - - - - - - - - - - - -
    2013-04-30 15:18:28 MDT comment server INFO 200 - LiveStreamPacketizerCupertino.handlePacket[x/_definst_/myStream.stream][avc1.66.30]: H.264 Video info: {H264CodecConfigInfo: codec:H264, profile:Baseline, level:3.0, frameSize:424x240, displaySize:424x240, frameRate:24.0, crop: l:0 r:4 t:0 b:0} - - - 44.397 - - - - - - - - - - - - - - - - - - - - - - - - -
    2013-04-30 15:18:28 MDT comment server INFO 200 - LiveStreamPacketizerCupertino.endChunkTS[x/_definst_/myStream.stream]: Add chunk: id:1 mode:TS[H264,AAC] a/v/k:61/0/0 duration:-30008578 - - - 44.508 - - - - - - - - - - - - - - - - - - - - - - - - -

    I'm seeing the following from the smoothstream packetizer:

    2013-04-30 15:18:30 MDT comment server INFO 200 - LiveStreamPacketizerSmoothStreaming.flushPendingAudio: Bitrate[x/_definst_/myStream.stream]: 105474 - - - 46.448 - - - - - - - - - - - - - - - - - - - - - - - - -
    2013-04-30 15:18:30 MDT comment server INFO 200 - LiveStreamPacketizerSmoothStreaming.addFragment[x/_definst_/myStream.stream]: Add chunk: type:audio id:0 count:94 duration:2005 - - - 46.485 - - - - - - - - - - - - - - - - - - - - - - - - -
    2013-04-30 15:18:32 MDT comment server INFO 200 - LiveStreamPacketizerSmoothStreaming.addFragment[x/_definst_/myStream.stream]: Add chunk: type:audio id:1 count:94 duration:2005 - - - 48.446 - - - - - - - - - - - - - - - - - - - - - - - - -
    2013-04-30 15:18:34 MDT comment server INFO 200 - LiveStreamPacketizerSmoothStreaming.addFragment[x/_definst_/myStream.stream]: Add chunk: type:audio id:2 count:94 duration:2006 - - - 50.463 - - - - - - - - - - - - - - - - - - - - - - - - -
    2013-04-30 15:18:36 MDT comment server INFO 200 - LiveStreamPacketizerSmoothStreaming.addFragment[x/_definst_/myStream.stream]: Add chunk: type:audio id:3 count:94 duration:2005 - - - 52.513 - - - - - - - - - - - - - - - - - - - - - - - - -
    2013-04-30 15:18:38 MDT comment server INFO 200 - LiveStreamPacketizerSmoothStreaming.addFragment[x/_definst_/myStream.stream]: Add chunk: type:audio id:4 count:94 duration:2005 - - - 54.474 - - - - - - - - - - - - - - - - - - - - - - - - -
    2013-04-30 15:18:40 MDT comment server INFO 200 - LiveStreamPacketizerSmoothStreaming.handlePacket[x/_definst_/myStream.stream]: Fragment durations: [0.0,0.0,0.0] - - - 56.36 - - - - - - - - - - - - - - - - - - - - - - - - -
    2013-04-30 15:18:40 MDT comment server INFO 200 - LiveStreamPacketizerSmoothStreaming.addFragment[x/_definst_/myStream.stream]: Add chunk: type:video id:2 count:3 duration:0 - - - 56.364 - - - - - - - - - - - - - - - - - - - - - - - - -
    2013-04-30 15:18:40 MDT comment server INFO 200 - LiveStreamPacketizerSmoothStreaming.addFragment[x/_definst_/myStream.stream]: Add chunk: type:audio id:5 count:94 duration:2006 - - - 56.471 - - - - - - - - - - - - - - - - - - - - - - - - -
    2013-04-30 15:18:42 MDT comment server INFO 200 - LiveStreamPacketizerSmoothStreaming.addFragment[x/_definst_/myStream.stream]: Add chunk: type:audio id:6 count:94 duration:2005 - - - 58.469 - - - - - - - - - - - - - - - - - - - - - - - - -
    2013-04-30 15:18:44 MDT comment server INFO 200 - LiveStreamPacketizerSmoothStreaming.addFragment[x/_definst_/myStream.stream]: Add chunk: type:video id:3 count:3 duration:0 - - - 60.373 - - - - - - - - - - - - - - - - - - - - - - - - -
    2013-04-30 15:18:44 MDT comment server INFO 200 - LiveStreamPacketizerSmoothStreaming.addFragment[x/_definst_/myStream.stream]: Add chunk: type:audio id:7 count:94 duration:2005 - - - 60.487 - - - - - - - - - - - - - - - - - - - - - - - - -
    2013-04-30 15:18:46 MDT comment server INFO 200 - LiveStreamPacketizerSmoothStreaming.addFragment[x/_definst_/myStream.stream]: Add chunk: type:audio id:8 count:94 duration:2006 - - - 62.464 - - - - - - - - - - - - - - - - - - - - - - - - -
    2013-04-30 15:18:47 MDT comment server INFO 200 - LiveStreamPacketizerSmoothStreaming.addFragment[x/_definst_/myStream.stream]: Add chunk: type:video id:4 count:2 duration:0 - - - 63.106 - - - - - - - - - - - - - - - - - - - - - - - - -
    2013-04-30 15:18:48 MDT comment server INFO 200 - LiveStreamPacketizerSmoothStreaming.addFragment[x/_definst_/myStream.stream]: Add chunk: type:video id:5 count:1 duration:0 - - - 64.382 - - - - - - - - - - - - - - - - - - - - - - - - -
    2013-04-30 15:18:48 MDT comment server INFO 200 - LiveStreamPacketizerSmoothStreaming.addFragment[x/_definst_/myStream.stream]: Add chunk: type:audio id:9 count:94 duration:2005 - - - 64.502 - - - - - - - - - - - - - - - - - - - - - - - - -
    2013-04-30 15:18:50 MDT comment server INFO 200 - LiveStreamPacketizerSmoothStreaming.addFragment[x/_definst_/myStream.stream]: Add chunk: type:audio id:10 count:94 duration:2005 - - - 66.504 - - - - - - - - - - - - - - - - - - - - - - - - -
    2013-04-30 15:18:51 MDT comment server INFO 200 - LiveStreamPacketizerSmoothStreaming.addFragment[x/_definst_/myStream.stream]: Add chunk: type:video id:6 count:2 duration:0 - - - 67.052 - - - - - - - - - - - - - - - - - - - - - - - - -
    2013-04-30 15:18:55 MDT comment server INFO 200 - LiveStreamPacketizerSmoothStreaming.addFragment[x/_definst_/myStream.stream]: Add chunk: type:video id:7 count:3 duration:0 - - - 71.054 - - - - - - - - - - - - - - - - - - - - - - - - -
    2013-04-30 15:18:59 MDT comment server INFO 200 - LiveStreamPacketizerSmoothStreaming.addFragment[x/_definst_/myStream.stream]: Add chunk: type:video id:8 count:3 duration:0 - - - 75.047 - - - - - - - - - - - - - - - - - - - - - - - - -
    2013-04-30 15:19:03 MDT comment server INFO 200 - LiveStreamPacketizerSmoothStreaming.addFragment[x/_definst_/myStream.stream]: Add chunk: type:video id:9 count:3 duration:0 - - - 79.054 - - - - - - - - - - - - - - - - - - - - - - - - -

    I'm running the udp multicast from vlc using the buck bunny mp4 that ships with Wowza. I'm not applying any transcoding on it. If you can reccomend specific settings for a vlc udp multicast that may solve this that would be great.. otherwise I'm thinking it may have something to do with the way the udp file is being saved by Wowza.

    Thanks for all your help.
    Jake

  4. #4

    Default

    I applied some transcoding to the udp stream and now it seems to have fixed the issue with the file. But I am still seeing issues with playing from a playlist.

    I have created a serverside stream.. added files to it dynamically but every time I try to play it via quicktime for example.. I get the following:

    2013-05-01 09:36:57 MDT comment server WARN 200 - HTTPStreamerAdapterCupertinoStreamer.getAppInstance: Stream not found [x/myStream.stream-1/playlist.m3u8]: myStream.stream-1

    myStream.stream-1 is the serverside stream with items having been added to it's playlist. Is there a naming convention I should stay away from with the .stream in the name?

    Prior to the play I have started the serverside stream and we can see streams being dynamically added to the playlist:

    - - - - - - - - - - - - - - - - - - - - - -
    2013-05-01 09:36:00 MDT comment server INFO 200 - 1367422560618 onWriteComplete name: myStream.stream - - - 58.714 - - - - - - - - - - - - - - - - - - - - - - - - -
    2013-05-01 09:36:00 MDT comment server INFO 200 - 1367422560620 onWriteComplete path: /usr/local/WowzaMediaServer-3.5.2/content/myStream.stream-22790375.mp4 - - - 58.715 - - - - - - - - - - - - - - - - - - - - - - - - -
    2013-05-01 09:36:00 MDT comment server INFO 200 - 1367422560621 adding file to playlist stream: myStream.stream-1 file: myStream.stream-22790375.mp4 - - - 58.716

    Serverside streams with mp4 files is possible correct? I'm seeing this when I try to open a playlist on a stream:
    013-05-01 10:10:33 MDT comment server INFO 200 - 1367424633676 supposed to be opening the playlist with stream: myStream.stream-1 - - - 45.857 - - - - - - - - - - - - - - - - - - - - - - - - -
    2013-05-01 10:10:33 MDT comment server INFO 200 - Stream.switch[x/_definst_/myStream.stream-1]: index: 0 name:myStream.stream-22790409.mp4 start:0 length:-1 - - - 45.871
    2013-05-01 10:10:33 MDT comment server WARN 200 - MediaReaderFLV.open: Metadata appears to be bad: myStream.stream-1 - - - 45.892

    Why would Wowza use an FLV media reader on an mp4?

    Thanks,
    Jake
    Last edited by jakehilton; 05-01-2013 at 09:17 AM.

  5. #5

    Default

    I'm slowly working it out.. seems I need to append "mp4:" to the front of the stream when added to the playlist.

    Slowly but surely.. will report back.

    Thanks,
    Jake

  6. #6

    Default

    Got it all sorted out. Once I appended the mp4: prefix on the front of files added to the playlist it started to work much better.

    Thank you for the help in getting this sorted.

    Jake

Similar Threads

  1. UDP Multicast input issues
    By edwoodza in forum Live Streaming and Encoders
    Replies: 1
    Last Post: 06-02-2014, 10:39 AM
  2. UDP Unicast ---> (UDP Multicast, RTSP Live Streaming)
    By konukko in forum Live Streaming and Encoder Discussion
    Replies: 1
    Last Post: 12-07-2013, 12:51 AM
  3. Live transcoding from multicast udp: codec interpretation error
    By larc25 in forum Live Streaming and Encoder Discussion
    Replies: 1
    Last Post: 10-14-2011, 04:52 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
  •