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