I stream to wowza by RTSP, and--after I finish streaming--I get in wowza log that:
stream unpublish <stream>
stream destroy
rtsp session destroy
but sometimes I get
stream unpublish <stream>
I have developer licence so on third same stream I get message:
*** Hit license limit for publishing streams. Publishing stream is stopped. ***
Can somebody tell in which case stream not destroyed?
The destroy is triggered by a client disconnect while the unpublish is server-side.
You are most likely using <StreamType>rtp-live</StreamType> as type in Application.xml. In this case Wowza automatically publishes your stream when a client demands the stream and shuts it down on a disconnect.
There are two things you can try:
put your RTSP stream in StartupStreams.xml so it's started by the server at startup.
change the <StreamType> to live and write a custom module using the MediaCaster API to publish your stream manually. In this case the stream is not automatically unpublished on a disconnect, although you need to see what happens if the source stream dies.
I fix this problem. During publish I create another ILiveStreamRecorder, when segment finishes I stop recording. Maybe, wowza not close or not destroy this recorder or etc., so rtsp session is not destroyed.
Related
I want to use an incoming audio stream (microphone from an external device) as the microphone input for an outbound Twilio Voice call.
The external device serves as a softphone, and does not currently support WebRTC. Instead it currently sets up 2 separate connections to a server: 1 for outgoing audio (microphone), and 1 for incoming audio. Bots connections (streams) are set up using gstreamer (gst-launch).
The server sets up a voice call and should somehow use the incoming audio stream as the microphone input for this call. I have already found the Stream instruction able to send the calls' audio back to the external device.
Can anyone point me in the right direction, maybe suggest some SDK functionality?
I have to add live video streaming in one of my app; I am using Wowza Streaming Cloud for the same. I am using REST Api to make it as my requirement.
The flow I had used is:
Create a stream
Start stream
Check status unless it is "started"
if the status is started, I start broadcasting video.
It goes well sometimes, but sometimes when I try to broadcast even after starting the stream, it says:
Status is idle, An error occurred when trying to connect to host: (code = 15)
Also I see a green screen on player side, and the video on player side is not continuous, it keeps on fluttering.
For Player I used the code provided in sample app.
For Broadcasting I had used GoCoder SDK wherein I set all of the properties like host address, port, app name, stream name, etc.
Do I have to set bitrate or anything?
Where am I wrong?
That error occurs when the entrypoint itself is open for more than 20 minutes without a connection. Once you get an IP returned from the API for the stream, you can connect to it right away. The errors you're getting are showing idle due to lack of connection and it sounds like the timing between starting the event, checking the event, and then finally connecting are hitting this restriction.
So when you test streaming to an event (via the RTMP endpoint) you switch the events lifeCycleStatus to testing. When I stop streaming to the RTMP endpoint the lifeCycleStatus still remains testing.
Essentially I need the event to go from this testing state to one where I can create and bind a new live stream to the event.
An attempt to transition the broadcast status of the event to Live is met with the error that the stream status is currently inactive which makes sense.
Is it possible to transition an event in the testing state to one where I can bind a new stream to it?
So I managed to solve this issue. Just to let you know there is no way to move a LiveBroadcast from the lifeCycleStatus from TESTING to anything other than LIVE or COMPLETED.
You can however rebind a new LiveStream to a LiveBroadcast in the state of TESTING. The broadcast will have a new boundStream and the lifeCycleStatus will be CREATED 👍
We have implemented RTSP server on our MCU. For testing purpose we are using VLC media player as a client. We coded our MCU such a way that only after receiving PLAY command from client, MCU reads data from camera. And we are seeing MCU receives data from camera and streams thorugh RTSP. We could see data streaming from server through UDP on Wireshark. And Also Codec information getting dispalyed on VLC media player. But video doesn't get played in VLC.What could be the issue?
Below is our SDP file info
"v=0\r\ns=Unnamed\r\ni=N/A\r\nc=IN IP4 sumukha-PC\r\nt=0 0\r\na=tool:vlc 2.2.2\r\na=recvonly\r\na=type:broadcast\r\na=charset:UTF-8\r\na=control:rtsp://192.168.1.100:8555\r\nm=video 0 RTP/AVP 96\r\nb=RR:0\r\na=rtpmap:96 H264/90000\r\na=fmtp:96 packetization-mode=1\r\na=control:rtsp://192.168.1.100:8555/trackID=0\r\n\r\n");
Thanks,
Ck
The error message tells you what is going wrong:
live555 error: no data received in 10s, aborting
The usual reasons for this are firewalls or NAT?
You can select the RTP over RTSP (TCP) option in the VLC preferences to verify this. If the stream works over TCP, UDP packets are being blocked somewhere.
I suggest using ffmpeg and ffplay to test your streaming from a RTSP source.
It is command line, but the information and logs are very helpful
I am using TokBox for an app. When doing P2P, one client shows both the local video and the other clients video. The other client only shows the local video and calls -subscriber:didFailWithError: with the error Error Domain=OTSubscriberErrorDomain Code=1 "The subscriber timed out." First, is there a way to change the TokBox timeout time. Second, why might this be happening?
There is no way to change the Timeout time. Second, I think you might have firewall settings that could be preventing streams from being subscribed. Heres a diagnostic tool to help you check your network: http://tokbox.com/tools/connectivity/