Hi,
I would like to transcode or transrate MPEG-TS streams into MPEG-TS streams, the only part that will be changed will then be either codec itself (MPEG2 to H264) or bitrate. The result should then be a MPEG-TS stream. Is it possible with Wowza Transcoder and how to set it up ?
Thanks
Jerome
             
            
              
              
              
            
                
            
           
          
            
            
              Jerome,
You can use this addon along with the Wowza Transcoder:
The last example in the package readme.html:
Incoming stream myStream will be published as MPEG-TS to address:
239.1.0.1:10000
myStream={name:myStream,stream:239.1.0.1:10000,isRTPWrapped:false}
The input to Wowza Transcoder is your MPEG-TS stream, the input to Multicast Publish is Wowza transrated stream. The package publishes mpeg-ts stream unicast o
Richard
             
            
              
              
              
            
            
           
          
            
            
              Jerome,
You can playback the output of the Wowza Transcoder in any client supported by Wowza, no need to involve this addon. The mpeg-ts stream published by Wowza with transcoder source has to be played back in VLC or Quicktime.
Richard
             
            
              
              
              
            
            
           
          
            
            
              Jérôme,
Yes, each of those things can be done in Wowza, and in that order, assuming the source video codec and audio codec are supported for decode
Video decoding: H.264, MPEG2, MPEG4 Part 2
Audio decoding: AAC, MP3, MPEG 1 Part 1/2, Speex, G.711 (a-law and mu-law)
Set up and run Transcoder for live streaming
Richard
             
            
              
              
              
            
            
           
          
          
            
            
              Jérôme,
You have to publish a stream named “myStream”, or you can start a stream named “myStream” in StreamManager or /conf/StartUpStreams.xml if the source is MediaCaster stream like an IP camera.
Richard
             
            
              
              
              
            
            
           
          
            
            
              Jérôme,
It’s best to do these things one at a time: figure out multicast with one stream, then do transcoding, then do multicast with each transcoded stream. In any case, if you want to mpegts.stream_720p you need to match it, your file is only matching myStream not myStream_720p. Add a line for myStream_720p.
Richard
             
            
              
              
              
            
            
           
          
            
            
              (deleted last, was wrong)
I’m not sure. What is the source? What is the contents of mpegts.stream? Does it play in VLC? What does VLC report in Tools > Codec Info?
Richard
             
            
              
              
              
            
            
           
          
            
            
              @Jérôme,
The video is mpeg2, which is not supported. mpeg2 is supported for decode in the Wowza Transcoder.
@Indur,
Wowza doesn’t mux audio and video. You will have to provide a stream that includes audio and video. Then the MulticastPublish addon can be used to send that to mpegts stream.
Richard
             
            
              
              
              
            
            
           
          
            
            
              Jerome, also notice that the Wowza Transcoder is not running, it is not supported on 32bit system. You may only need to install 64bit version of Java.
http://www.oracle.com/technetwork/java/javase/downloads/index.html
Choose the 64bit JDK for linux.
Richard
             
            
              
              
              
            
            
           
          
            
            
              Yes, as long as the audio and video codecs of the source are supported for decode in the Wowza Transcoder
Richard
             
            
              
              
              
            
            
           
          
            
            
              Jérôme,
UDP ports are probably blocked in your firewall or not mapped in your router. See if you can figure that out, or try setting /conf/[app-name]/Application.xml /MediaCaster Property forceInterleaved to “true”:
<Property>
	<Name>forceInterleaved</Name>
	<Value>true</Value>
	<Type>Boolean</Type>
</Property>
Edit: forceInterleaved has no effect with mpegts source.
What version of Wowza are you running? If you are using Wowza 3.0.4, the default has changed, so the above is not necessary.
Richard
             
            
              
              
              
            
            
           
          
            
            
              Scratched the forceInterleaved suggestion, which is not relevant in your case.
It’s good to update, but my suggestion is to look at UDP ports. I only noted that forceInterleaved default has changed in 3.0.4.
Richard
             
            
              
              
              
            
            
           
          
            
            
              Wowza is not connecting to the stream. It looks like UDP ports. You got .bind then timeout lines then .unbind. Typical when UDP ports are blocked:
INFO server comment - MulticastTransport.bind[live/_definst_]: 239.1.1.8/5500
INFO stream publish mpegts.stream -
INFO server comment - RTPMediaCaster.Reconnector[79042621:live/_definst_:mpegts.stream]: done: 2
INFO server comment - RTPMediaCaster.streamTimeout[79042621:live/_definst_:mpegts.stream]: timeout:12000 diff:12005 reason:101
INFO server comment - RTPMediaCaster.resetConnection[79042621:live/_definst_:mpegts.stream]:
INFO server comment - RTPMediaCaster.closeRTPSession[79042621:live/_definst_:mpegts.stream]
INFO server comment - MulticastTransport.unbind[live/_definst_]: 239.1.1.8/5500 sent:0 recv:0
Richard
             
            
              
              
              
            
            
           
          
            
            
              Again, it appears to be UDP ports. Setting RTPTransportMode to “forceInterleaved” won’t help. Remember I suggested that then scratched the suggestio because forceInterleaved only affects RTSP ingress not UDP. You either have to allow UDP ports in a firewall or perhaps map UDP ports to your Wowza server in a router.
Richard
             
            
              
              
              
            
            
           
          
            
            
              You can use specific IP by changing /conf/VHost.xml /HostPort /IpAddress from “*” to “[ip-address]”
Richard
             
            
              
              
              
            
            
           
          
            
            
              Jérôme,
Use the HostPort with /Port “1935”, the port you are using.
Anyway, I’m not sure what that does for you in this case. If you are still seeing this in the log it’s a connectivity problem of some kind, most likely UDP ports not being allowed or mapped.
INFO server comment - MulticastTransport.bind[live/_definst_]: 239.1.1.8/5500
INFO stream publish mpegts.stream -
INFO server comment - RTPMediaCaster.Reconnector[79042621:live/_definst_:mpegts.stream]: done: 2
INFO server comment - RTPMediaCaster.streamTimeout[79042621:live/_definst_:mpegts.stream]: timeout:12000 diff:12005 reason:101
INFO server comment - RTPMediaCaster.resetConnection[79042621:live/_definst_:mpegts.stream]:
INFO server comment - RTPMediaCaster.closeRTPSession[79042621:live/_definst_:mpegts.stream]
INFO server comment - MulticastTransport.unbind[live/_definst_]: 239.1.1.8/5500 sent:0 recv:0
Richard
             
            
              
              
              
            
            
           
          
            
            
              There are two place to change MulticastInterfaceAddress in VHost.xml. Did you change both?
Richard
             
            
              
              
              
            
            
           
          
            
            
              Jérôme,
This might be helpful regarding the first WARN line:
https://www.wowza.com/docs/how-to-control-transcoded-video-with-video-encoding-parameters
In the 2nd, it seems that one of the streams in the stream name group has a missing audio codec id. “TranscoderStreamNameGroups#DelayStart.run” indicates that creation of the group is delayed, I guess waiting for the audio codec id.
Outbound multicast video binding to two ports is normal, expected. Notice in the examples the audio port is set 2 ahead of the video port for this reason.
Richard