Re: [Live-devel] Proper use of StreamReplicator

2014-10-19 Thread Jan Ekholm
reaks in real world code. > > No, it works just fine. It just needs to be used properly. Well, it's escalated quickly from "just use replicator->createStreamReplica()" to creating new components with intricate knowledge of the internal workings of Live555. > In any

Re: [Live-devel] Proper use of StreamReplicator

2014-10-18 Thread Jan Ekholm
gh all the places with hardcoded C style casts and fix them to use dynamic_cast<> and check for a StreamReplica. This does then not work for H264 streams, as isFramedSource() is a private member of FramedSource. Why has it been inherited as private? Anyway, currently stream replicating does not

Re: [Live-devel] Proper use of StreamReplicator

2014-10-18 Thread Jan Ekholm
disk for later streaming. Yes, I know JPEG video is far from ideal, but in this case it's a question of a demo that would prerecord some minutes of live camera footage and then replay said material over and over again. H264 tends to drop frames and have glitches even when run over localhost wh

Re: [Live-devel] Proper use of StreamReplicator

2014-10-17 Thread Jan Ekholm
... Here fSource is a StreamReplicator and not a JPEGVideoSource, so the cast will be bogus. Would perhaps be better to use dynamic_cast<> here, then the sanity check would work. As the StreamReplica class is internal to StreamReplicator specialHeaderSize

Re: [Live-devel] Proper use of StreamReplicator

2014-10-17 Thread Jan Ekholm
> > The reason for this is that the first > "createNewStreamSource()"/"createNewRTPSink()" calls are to create 'dummy' > objects that the RTSP server uses to get the stream's SDP description (for > the RTSP 'DESCRIBE" command). These two objects are then deleted (thus the > "FYI" above). Then, 'real' source and sink objects are created. Yes, that seems to be normal behavior. So far there doesn't seem to be any error in what I'm trying to do, but the stream simply is not playing. Is there really a startPlaying() being called for the replicated stream too? -- Jan Ekholm jan.ekh...@d-pointer.com ___ live-devel mailing list live-devel@lists.live555.com http://lists.live555.com/mailman/listinfo/live-devel

Re: [Live-devel] Proper use of StreamReplicator

2014-10-17 Thread Jan Ekholm
case. So, for MJPEG there are a few issues. -- Jan Ekholm jan.ekh...@d-pointer.com ___ live-devel mailing list live-devel@lists.live555.com http://lists.live555.com/mailman/listinfo/live-devel

[Live-devel] Proper use of StreamReplicator

2014-10-16 Thread Jan Ekholm
file? Later I also need to be able to save streams that are local cameras multicasted as well as remote proxied cameras. -- Jan Ekholm jan.ekh...@d-pointer.com ___ live-devel mailing list live-devel@lists.live555.com http://lists.live555.com/mailman/listinfo/live-devel

Re: [Live-devel] Making ProxyServerMediaSubsession stream to multicast addresses

2014-05-20 Thread Jan Ekholm
teNew( envir(), m_subsession->readSource() ); m_replicator = StreamReplicator::createNew( envir(), framer, False ); if ( ! m_subsession->sink->startPlaying( *m_replicator->createStreamReplica(), ... ) { means no video is delivered at all anymore. So the replicator does something f

Re: [Live-devel] Making ProxyServerMediaSubsession stream to multicast addresses

2014-05-19 Thread Jan Ekholm
rtPlaying( * discreteFramer, ... ) ) { } This does deliver a video stream, but it's unwatchable. The individual images are ok, but the video is stuttering back and forth, as if it was zig-zagging over the time line. There is not too much documentation for StreamReplicator and the provided example is quite limited. -- Jan Ekholm jan.ekh...@d-pointer.com ___ live-devel mailing list live-devel@lists.live555.com http://lists.live555.com/mailman/listinfo/live-devel

Re: [Live-devel] Fixing "The total received frame size exceeds the client's buffer size"

2014-05-19 Thread Jan Ekholm
e using an old version of the code. You should upgrade! Aha, I see that the new version has removed the parameter. It was a bit redundant. Are there any changelogs for changes like these? -- Jan Ekholm jan.ekh...@d-pointer.com ___ live-devel mailing

Re: [Live-devel] Fixing "The total received frame size exceeds the client's buffer size"

2014-05-17 Thread Jan Ekholm
S NAL unit information > that your RTSP client already got from the downstream server (camera). With those two changes it works. Thank you for the help. There is btw no H264VideoRTPSink::createNew() version that takes the arguments you mention, you need to add the profile-level-id too, bu

[Live-devel] Fixing "The total received frame size exceeds the client's buffer size"

2014-05-16 Thread Jan Ekholm
se OutPacketBuffer::maxSize, but none works. -- Jan Ekholm jan.ekh...@d-pointer.com ___ live-devel mailing list live-devel@lists.live555.com http://lists.live555.com/mailman/listinfo/live-devel

[Live-devel] A lesson learned: Groupsock

2014-05-16 Thread Jan Ekholm
that had me debugging all kinds of code. It's not particularly clear when Live555 takes ownership of something or gives it to your code. Smart pointers would be the way to go here, of course. Just in case someone googles for "bad file descriptor&

Re: [Live-devel] Logging or debug info

2014-05-14 Thread Jan Ekholm
way that the 'blocking TCP send() with > timeout' hack was implemented in the previous revision. > > Please upgrade to the latest version: 2014.05.14 I think the same bug was discussed here in another thread last week, so I actually guessed it was already fixed. But you never know if

Re: [Live-devel] Logging or debug info

2014-05-14 Thread Jan Ekholm
I've spent enough time trying to debug that and must move on for now. I hope to find the problem later when I get more familiar with Live555, it's not an easy library to use. I'm sorry for the time I've wasted for all readers. One t

Re: [Live-devel] Logging or debug info

2014-05-07 Thread Jan Ekholm
sense. If you want to test a client-server > combination, then start with one combination that you know works OK > ("testOnDemandRTSPServer" with "openRTSP"), then change only one end at a > time as you continue your testing. I can test tomorrow with one of the test servers against my client. But even a badly working client should not be able to cause problems (cut stream) for another unrelated client. -- Jan Ekholm jan.ekh...@d-pointer.com ___ live-devel mailing list live-devel@lists.live555.com http://lists.live555.com/mailman/listinfo/live-devel

Re: [Live-devel] Logging or debug info

2014-05-07 Thread Jan Ekholm
On 6 maj 2014, at 23:35, Jan Ekholm wrote: > > On 6 maj 2014, at 23:07, Ross Finlayson wrote: > >> Once again: >> >>>> In fact, I suggest that you first run the (unmodified!) >>>> "testOnDemandRTSPServer" application, using "t

Re: [Live-devel] Logging or debug info

2014-05-06 Thread Jan Ekholm
at this combination works OK. It does, once I got rid of isSSM. Now testRTSPClient runs forever, at least for a definition of forever that goes up to 30 minutes. So that at least is not an issue anymore and was my mistake. -- Jan Ekholm jan.ekh...@d-pointer.com ___

Re: [Live-devel] Logging or debug info

2014-05-06 Thread Jan Ekholm
amer.cpp", but it's all been rewritten when moving to OnDemandServerMediaSubsession and as I learned how to do H264. The only line of code left from that was the one that did the ServerMediaSession::createNew() call. Everything else is similar to testOnDemandRTSPServer. -- Jan E

Re: [Live-devel] Logging or debug info

2014-05-06 Thread Jan Ekholm
"camera0"): Liveness indication RTSP client session (id "133E19DE", stream name "camera0"): Liveness indication after few seconds, which I did not get when isSSM=True. My own client does not seem to send those, but instead I get these every 10 seconds or so: parseRTSPRequestString() succeeded, returning cmdName "GET_PARAMETER", urlPreSuffix "camera0", urlSuffix "", CSeq "10", Content-Length 0, with 0 bytes following the message. sending response: RTSP/1.0 200 OK CSeq: 10 Date: Tue, May 06 2014 18:44:53 GMT Session: 6A8077BD Content-Length: 10 This is quite complicated... I'm sorry for troubling you with this, but I'm grasping at straws trying to get this to work. Best regards, Jan Ekholm ___ live-devel mailing list live-devel@lists.live555.com http://lists.live555.com/mailman/listinfo/live-devel

Re: [Live-devel] Logging or debug info

2014-05-06 Thread Jan Ekholm
sockets open and these time out after a while. When these time outs occur there seems to be a bigger risk for my client to freeze. I haven't found out why, but it only happens when the server is Live555-based. I also now see that the server always streams over TCP, not UDP a

Re: [Live-devel] Logging or debug info

2014-05-03 Thread Jan Ekholm
client. That should tell you if the problem is with your server, or with > your client. Great, thank you for those debugging tips! Especially the test applications will quickly show me if there is any data delivered at all. -- Jan Ekholm jan.ekh...@d-pointer.com ___ live-devel mailing list live-devel@lists.live555.com http://lists.live555.com/mailman/listinfo/live-devel

[Live-devel] Logging or debug info

2014-05-02 Thread Jan Ekholm
look forward to diving deep into the libav code. So, are there any callbacks, defines or similar to get a bit more info as to what is going on? Kind regards, Jan Ekholm ___ live-devel mailing list live-devel@lists.live555.com http://lists.live555.com/mailman/listinfo/live-devel

Re: [Live-devel] Limiting frame rate for a source

2014-04-22 Thread Jan Ekholm
that can be called from a non-LIVE555 event loop thread.) I have used triggerEvent() successfully when I did try to run my own Boost based event loop. It did get too messy though, but the events worked perfectly. I think I prefer to handle the ra

Re: [Live-devel] Limiting frame rate for a source

2014-04-22 Thread Jan Ekholm
On 22 apr 2014, at 19:01, Jan Ekholm wrote: > >>> Also, is there some way to know when all clients have disconnected from a >>> RTSP source >>> so that I could stop grabbing and encoding frames? >> >> This should happen automatically. I.e., wh

Re: [Live-devel] Limiting frame rate for a source

2014-04-22 Thread Jan Ekholm
et to true as the camera can only be opened once. I will have to dig deeper so see why the MJPEG source does not stop. Both OnDemandServerMediaSubsession are very similar, apart from the H264 one having the extra dummy sink to get the aux data. -- Jan Ekholm jan.ekh...@d-pointer.com ___ live-devel mailing list live-devel@lists.live555.com http://lists.live555.com/mailman/listinfo/live-devel

[Live-devel] Limiting frame rate for a source

2014-04-22 Thread Jan Ekholm
frames? It seems to work automatically for my H264 stream, but the MJPEG stream continues encoding forever. Both are handled using a OnDemandServerMediaSubsession subclass to create the source and the sink. I hope these questions make any sense and I'd be happy for any hints. Best regards,

Re: [Live-devel] Tracking down latency

2014-04-09 Thread Jan Ekholm
500 ms caching it seems to work without any errors. That's really too much delay for my use case though, but good to know where it comes from. Thank you for pointing it out to me! -- Jan Ekholm jan.ekh...@d-pointer.com ___ live-devel mailing list live-devel@lists.live555.com http://lists.live555.com/mailman/listinfo/live-devel

[Live-devel] Tracking down latency

2014-04-09 Thread Jan Ekholm
d testRTSPClient to provide a real decoding sink in place of the DummySink, but I'd like to avoid doing that if possible. Any ideas? I'm more than happy to be lectured on my bad ways of measuring time and latency. :) Best regards, Jan Ekholm ___ live-devel mailing list live-devel@lists.live555.com http://lists.live555.com/mailman/listinfo/live-devel

Re: [Live-devel] Making ProxyServerMediaSubsession stream to multicast addresses

2014-04-06 Thread Jan Ekholm
at least, not > for free) on this mailing list. Indeed, I understand that. -- Jan Ekholm jan.ekh...@d-pointer.com ___ live-devel mailing list live-devel@lists.live555.com http://lists.live555.com/mailman/listinfo/live-devel

Re: [Live-devel] Making ProxyServerMediaSubsession stream to multicast addresses

2014-04-06 Thread Jan Ekholm
he mechanism that I suggested above (piping "openRTSP" into a > modified "testH264VideoStreamer"), then you could update the > "testH264VideoStreamer" some more, by feeding the "StreamReplicator" from the > input "ByteStreamFileSource&qu

[Live-devel] Making ProxyServerMediaSubsession stream to multicast addresses

2014-04-06 Thread Jan Ekholm
duplicate" the incoming stream into my custom code for doing the image manipulation while at the same time keeping the normal proxied stream working? I'm sorry if these questions are dumb, but I didn't find anything in the docs or examples. Best regards, Jan Ekholm ___