2

I need to stream rtp-live to iphone. My channels are configured in SDP files. When I request channels from Flash player, I have a plug-in that starts streaming data to Wowza once it detects the request. This way I don't need to publish the streams. When I try to watch from iphone, I get error since the stream is not published. If I watch a channel from Flash player and then try to watch from iphone, then it works because the stream is automatically published. If I stop watching from Flash player, the stream unpublishes regardless active connection to iphone.

Please help

This is my application.xml

<Root>
<Application>
    <Connections>
        <AutoAccept>true</AutoAccept>
        <AllowDomains></AllowDomains>
    </Connections>
    <Streams>
        <StreamType>rtp-live</StreamType>
        <StorageDir>${com.wowza.wms.context.VHostConfigHome}/content</StorageDir>
        <KeyDir>${com.wowza.wms.context.VHostConfigHome}/keys</KeyDir>
        <LiveStreamPacketizers>cupertinostreamingpacketizer,smoothstreamingpacketizer,sanjosestreamingpacketizer</LiveStreamPacketizers>
        <Properties>
        </Properties>
    </Streams>
    <Transcoder>
        <LiveStreamTranscoder></LiveStreamTranscoder>
        <Templates>${SourceStreamName}.xml,transrate.xml</Templates>            <ProfileDir>${com.wowza.wms.context.VHostConfigHome}/transcoder/profiles</ProfileDir>
        <TemplateDir>${com.wowza.wms.context.VHostConfigHome}/transcoder/templates</TemplateDir>
        <Properties>
        </Properties>
    </Transcoder>

    <DVR>
        <Recorders></Recorders>
        <Store></Store>
        <WindowDuration>0</WindowDuration>
        <StorageDir>${com.wowza.wms.context.VHostConfigHome}/dvr</StorageDir>
        <ArchiveStrategy>append</ArchiveStrategy>
        <Repeater>
            <ChunkOriginURL></ChunkOriginURL>
        </Repeater>

        <Properties>
        </Properties>
    </DVR>

    <HTTPStreamers>cupertinostreaming,smoothstreaming,sanjosestreaming</HTTPStreamers>
    <SharedObjects>
        <StorageDir></StorageDir>
    </SharedObjects>
    <Client>
        <IdleFrequency>-1</IdleFrequency>
        <Access>
            <StreamReadAccess>*</StreamReadAccess>
            <StreamWriteAccess>*</StreamWriteAccess>
            <StreamAudioSampleAccess></StreamAudioSampleAccess>
            <StreamVideoSampleAccess></StreamVideoSampleAccess>
            <SharedObjectReadAccess>*</SharedObjectReadAccess>
            <SharedObjectWriteAccess>*</SharedObjectWriteAccess>
        </Access>
    </Client>
    <RTP>
        <!-- RTP/Authentication/[type]Methods defined in Authentication.xml. Default setup includes; none, basic, digest -->
        <Authentication>
            <PublishMethod>digest</PublishMethod>
            <PlayMethod>none</PlayMethod>
        </Authentication>
        <!-- RTP/AVSyncMethod. Valid values are: senderreport, systemclock, rtptimecode -->
        <AVSyncMethod>senderreport</AVSyncMethod>
        <MaxRTCPWaitTime>12000</MaxRTCPWaitTime>
        <IdleFrequency>75</IdleFrequency>
        <RTSPSessionTimeout>90000</RTSPSessionTimeout>
        <RTSPMaximumPendingWriteBytes>0</RTSPMaximumPendingWriteBytes>
        <RTSPBindIpAddress></RTSPBindIpAddress>
        <RTSPConnectionIpAddress>0.0.0.0</RTSPConnectionIpAddress>
        <RTSPOriginIpAddress>127.0.0.1</RTSPOriginIpAddress>
        <IncomingDatagramPortRanges>*</IncomingDatagramPortRanges>
        <!-- Properties defined here will override any properties defined in conf/RTP.xml for any depacketizers loaded by this application -->
        <Properties>
        </Properties>
    </RTP>
    <MediaCaster>
        <!-- Properties defined here will override any properties defined in conf/MediaCasters.xml for any MediaCasters loaded by this applications -->
        <Properties>
            <Property>
                <Name>forceInterleaved</Name>
                <Value>true</Value>
                <Type>Boolean</Type>
            </Property>         
        </Properties>
    </MediaCaster>
    <MediaReader>
        <!-- Properties defined here will override any properties defined in conf/MediaReaders.xml for any MediaReaders loaded by this applications -->
        <Properties>
        </Properties>
    </MediaReader>
    <MediaWriter>
        <!-- Properties defined here will override any properties defined in conf/MediaWriter.xml for any MediaWriter loaded by this applications -->
        <Properties>
        </Properties>
    </MediaWriter>
    <LiveStreamPacketizer>
        <!-- Properties defined here will override any properties defined in conf/LiveStreamPacketizers.xml for any LiveStreamPacketizers loaded by this applications -->           
        <Properties>
        </Properties>
    </LiveStreamPacketizer>
    <HTTPStreamer>
        <!-- Properties defined here will override any properties defined in conf/HTTPStreamers.xml for any HTTPStreamer loaded by this applications -->
        <Properties>
        </Properties>
    </HTTPStreamer>
    <Repeater>
        <OriginURL></OriginURL>
        <QueryString><![CDATA[]]></QueryString>
    </Repeater> 
    <Modules>
        <Module>
            <Name>base</Name>
            <Description>Base</Description>
            <Class>com.wowza.wms.module.ModuleCore</Class>
        </Module>
        <Module>
            <Name>properties</Name>
            <Description>Properties</Description>
            <Class>com.wowza.wms.module.ModuleProperties</Class>
        </Module>
        <Module>
            <Name>logging</Name>
            <Description>Client Logging</Description>
            <Class>com.wowza.wms.module.ModuleClientLogging</Class>
        </Module>
        <Module>
            <Name>flvplayback</Name>
            <Description>FLVPlayback</Description>
            <Class>com.wowza.wms.module.ModuleFLVPlayback</Class>
        </Module>
    </Modules>
    <!-- Properties defined here will be added to the IApplication.getProperties() and IApplicationInstance.getProperties() collections -->
    <Properties>
    </Properties>
</Application>
</Root>
sergman
  • 171
  • 1
  • 2
  • 12
  • your question is not very clear... "I have a plug-in that starts streaming data to Wowza once it detects the request", so it doesn't work for iphone because you never invoke this plugin from the iphone, right? – fmodos May 07 '13 at 07:23
  • Ignore the plug-in. I mentioned it because when I use it there is no need to publish the stream. That's why I use rtp-live. rtp-live automatically publish stream when there is a request. For some reason it does not work when the request is initiated by iphone. – sergman May 07 '13 at 07:46

1 Answers1

1

The StreamType rtp-live only works for flash RTMP.

Flash RTMP clients only

(Optional) If your application will only stream to Flash RTMP clients, in [install-dir]/conf/live/Application.xml, you can set the Streams/StreamType property to: <StreamType>rtp-live</StreamType>

Tutorial: http://www.wowza.com/forums/content.php?38

Change the the StreamType to live and it should work.

<StreamType>live</StreamType>
fmodos
  • 4,472
  • 1
  • 16
  • 17
  • This is where the plug-in comes to play. I don't stream data to wowza all the time but only on demand. I have 200 channels and the feed is located on different server. When there is a request to watch the channel plug-in sends command to the feed server which in place starts streaming to wowza. I know it is like repeater but we use our own protocol to stream between servers. This is the reason we need rtp-live. I can publish all channels but then wowza is overflooded with logs that they don't have stream. For 200 channels this virtually kills the process. – sergman May 07 '13 at 17:40
  • Ok, got it... so the only solution I see is one work around where you send a request to the server start publishing the streaming from the iphone, it can be a http request and you handle it in the server side. – fmodos May 07 '13 at 19:54
  • Thanks, you have read my mind. I thought exactly about the same solution. I just need to keep the count of current connections so I unpublish the stream when no one using it. Thank you very much. – sergman May 07 '13 at 22:44
  • 1
    It's years users have this problem with Wowza StreamingEngine, i can't get why they don't implement a solution ! it's my same problem more than once cam per site with limited bandwidth and i can't activate only the streaming i need .... i'm looking for a work around or new media server .... – cicciosgamino Aug 08 '17 at 22:16