Results 1 to 5 of 5

Thread: Extracting audio as a separate mp3 file from live stream

  1. #1
    Join Date
    Jun 2012
    Posts
    3

    Post Extracting audio as a separate mp3 file from live stream

    Hi,

    I have a live stream coming from FMLE and wowza is capturing the stream in stream.flv file. Now i need to get the audio extracted in a separate file (other than stream.flv) so that i can process the audio to get the transcript of the audio.

    I have googled this issue but haven't succeeded to get it done. I have tried the solutions provided in this post but as well as the AudioRepeater but no success.

    I am new to Wowza, Please provide guidance or instructions on how this resolve this.

    Ovais Ashraf

  2. #2
    Join Date
    Dec 2007
    Posts
    21,962

    Default

    Ovais,

    You can use FFmpeg in post-process
    ffmpeg -i your.flv -acodec libmp3lame -vn temp.mp3
    Take a look at this article for links to FFmpeg builds
    http://www.wowza.com/forums/content....ideo-on-Demand

    Richard

  3. #3
    Join Date
    Jun 2012
    Posts
    3

    Default

    Thanks Richard for a quick reply.

    Actually, we would be having HD videos of 1.5gb size approx, and FFMPEG would required some time to extract audio from it. I have tested FFMPEG with 1.4gb file, it has taken about 2 hrs to process. The time that FFMPEG would take would be an overhead for my app and it also depends on the machine (CPU, RAM) FFMPEG would used to process.

    So, should i conclude that this cannot be done in Wowza ?

    Thanks.

    Ovais Ashraf

  4. #4
    Join Date
    Sep 2011
    Posts
    1,933

    Default

    Hi
    Looking through the example Application.xml file in the PDF from Audio Repeater

    You only need to add the following to your Application.xml file :

    <Module>
    <Name>AudioRepeater</Name>
    <Description>AudioRepeater</Description>
    <Class>uk.org.shamrock.global.AudioRepeater</Class>
    </Module>

    <Property>
    <Name>RemoteType</Name>
    <Value>rtmp</Value>
    </Property>

    <Property>
    <Name>RTMPStreamName</Name>
    <Value>audiostream</Value>
    </Property>

    This should strip and reuse the audio in this application.

    Jason

  5. #5
    Join Date
    Jun 2012
    Posts
    3

    Default

    Hi Jason,

    Thanks for your reply. I have made all the necessary changes to my application.xml but its not working (as i have mentioned in my first post). Here is my application.xml

    <Root>
    <Application>
    <!-- Uncomment to set application level timeout values
    <ApplicationTimeout>60000</ApplicationTimeout>
    <PingTimeout>12000</PingTimeout>
    <ValidationFrequency>8000</ValidationFrequency>
    <MaximumPendingWriteBytes>0</MaximumPendingWriteBytes>
    <MaximumSetBufferTime>60000</MaximumSetBufferTime>
    <MaximumStorageDirDepth>25</MaximumStorageDirDepth>
    -->
    <Connections>
    <AutoAccept>true</AutoAccept>
    <AllowDomains></AllowDomains>
    </Connections>
    <!--
    StorageDir path variables

    ${com.wowza.wms.AppHome} - Application home directory
    ${com.wowza.wms.ConfigHome} - Configuration home directory
    ${com.wowza.wms.context.VHost} - Virtual host name
    ${com.wowza.wms.context.VHostConfigHome} - Virtual host config directory
    ${com.wowza.wms.context.Application} - Application name
    ${com.wowza.wms.context.ApplicationInstance} - Application instance name

    -->
    <Streams>
    <StreamType>live-record</StreamType>
    <StorageDir>${com.wowza.wms.context.VHostConfigHome}/content</StorageDir>
    <!--<StorageDir>D:/Games</StorageDir>-->
    <KeyDir>${com.wowza.wms.context.VHostConfigHome}/keys</KeyDir>
    <!-- LiveStreamPacketizers (separate with commas): cupertinostreamingpacketizer, smoothstreamingpacketizer, sanjosestreamingpacketizer, cupertinostreamingrepeater, smoothstreamingrepeater, sanjosestreamingrepeater, dvrstreamingpacketizer, dvrstreamingrepeater -->
    <LiveStreamPacketizers></LiveStreamPacketizers>
    <!-- Properties defined here will override any properties defined in conf/Streams.xml for any streams types loaded by this application -->
    <Properties>
    <Property>
    <Name>mp4WriterRecordData</Name>
    <Value>true</Value>
    <Type>Boolean</Type>
    </Property>
    <Property>
    <Name>mp4WriterRecordOnMetaData</Name>
    <Value>false</Value>
    <Type>Boolean</Type>
    </Property>
    </Properties>
    </Streams>
    <Transcoder>
    <!-- To turn on transcoder set to: transcoder -->
    <LiveStreamTranscoder>transcoder</LiveStreamTranscoder>
    <!-- [templatename].xml or ${SourceStreamName}.xml -->
    <Templates>transrate1.xml</Templates>
    <ProfileDir>${com.wowza.wms.context.VHostConfigHome}/transcoder/profiles</ProfileDir>
    <TemplateDir>${com.wowza.wms.context.VHostConfigHome}/transcoder/templates</TemplateDir>
    <Properties>
    </Properties>
    </Transcoder>

    <DVR>
    <!-- As a single server or as an origin, use dvrstreamingpacketizer in LiveStreamPacketizers above -->
    <!-- Or, in an origin-edge configuration, edges use dvrstreamingrepeater in LiveStreamPacketizers above -->
    <!-- As an origin, also add dvrchunkstreaming to HTTPStreamers below -->

    <!-- To turn on DVR recording set Recorders to dvrrecorder. This works with dvrstreamingpacketizer -->
    <Recorders></Recorders>

    <!-- As a single server or as an origin, set the Store to dvrfilestorage-->
    <!-- edges should have this empty -->
    <Store></Store>

    <!-- Window Duration is length of live DVR window in seconds. 0 means the window is never trimmed. -->
    <WindowDuration>0</WindowDuration>

    <!-- Storage Directory is top level location where dvr is stored. e.g. c:/temp/dvr -->
    <StorageDir>${com.wowza.wms.context.VHostConfigHome}/dvr</StorageDir>

    <!-- valid ArchiveStrategy values are append, version, delete -->
    <ArchiveStrategy>append</ArchiveStrategy>

    <!-- If this is a dvrstreamingrepeater, define ChunkOriginURL to point back to origin -->
    <!-- And define Application/Repeater/OriginURL to point back to the origin -->
    <Repeater>
    <ChunkOriginURL></ChunkOriginURL>
    </Repeater>

    <!-- Properties for DVR -->
    <Properties>
    </Properties>
    </DVR>

    <!-- HTTPStreamers (separate with commas): cupertinostreaming, smoothstreaming, sanjosestreaming, dvrchunkstreaming -->
    <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>
    <RTP>
    <RTSP>
    <!-- udp, interleave -->
    <RTPTransportMode>interleave</RTPTransportMode>
    </RTSP>
    </RTP>
    <!-- Properties defined here will override any properties defined in conf/MediaCasters.xml for any MediaCasters loaded by this applications -->
    <Properties>
    </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>
    <Module>
    <Name>AudioRepeater</Name>
    <Description>AudioRepeater</Description>
    <Class>uk.org.shamrock.global.AudioRepeater</Class>
    </Module>

    </Modules>
    <!-- Properties defined here will be added to the IApplication.getProperties() and IApplicationInstance.getProperties() collections -->
    <Properties>
    <Property>
    <Name>debugEnabled</Name>
    <Value>On</Value>
    </Property>
    <Property>
    <Name>RemoteType</Name>
    <Value>rtmp</Value>
    </Property>
    <Property>
    <Name>RTMPStreamName</Name>
    <Value>audiostream</Value>
    </Property>

    </Properties>
    </Application>
    </Root>

Similar Threads

  1. How to stream a mp3 file
    By SamGoody in forum On-Demand Streaming
    Replies: 11
    Last Post: 02-13-2014, 05:29 AM
  2. How to play .mp3 file on demand using stream type live ?
    By sagar123AHER in forum General Forum
    Replies: 2
    Last Post: 10-17-2013, 09:42 PM
  3. live streaming question - possible with separate audio source?
    By sinkazsu in forum Live Streaming and Encoder Discussion
    Replies: 2
    Last Post: 07-21-2012, 02:15 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
  •