[Live-devel] MPEG demuxing
Aleksandar Milenkovic
aleksandar.milenkovic at rt-rk.com
Thu Sep 20 07:48:46 PDT 2012
@Zahira
you can try demuxing your TS with ffmpeg and then delivering two
separate streams for audio and video via RTP-over-RTSP. You will need to
reassemble them correctly on the receiving side however, or face
terrible lipsync issues.
You can wrap both of these as a Transport Stream at the receiving side;
however asking further questions about it should better be directed at
the ffmpeg crew.
Hope that helps.
*Aleksandar Milenkovic*
Software Engineer
Phone: +381-(0)11-2695-244
Fax: +381-(0)21-450-721
Mobile: +381-(0)64-31-666-82
E-mail: Aleksandar.Milenkovic at rt-rk.com
<mailto:aleksandar.milenkovic at rt-rk.com>
RT-RK Computer Based Systems LLC
Bulevar Milutina Milankovica 19a
11000 Beograd, Serbia
www.rt-rk.com <http://www.rt-rk.com>
On 9/20/2012 4:09 PM, live-devel-request at ns.live555.com wrote:
> Send live-devel mailing list submissions to
> live-devel at lists.live555.com
>
> To subscribe or unsubscribe via the World Wide Web, visit
> http://lists.live555.com/mailman/listinfo/live-devel
> or, via email, send a message with subject or body 'help' to
> live-devel-request at lists.live555.com
>
> You can reach the person managing the list at
> live-devel-owner at lists.live555.com
>
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of live-devel digest..."
>
>
> Today's Topics:
>
> 1. Re: MPEG1or2DemuxedElementaryStream use (Ross Finlayson)
> 2. Re: Enumerate all 'clients' and memory leak (Ross Finlayson)
> 3. Re: Enumerate all 'clients' and memory leak (Ross Finlayson)
> 4. Re: Enumerate all 'clients' and memory leak (??????????????)
> 5. Re: MPEG1or2DemuxedElementaryStream use (Zahira Ammarguellat)
>
>
> ----------------------------------------------------------------------
>
> Message: 1
> Date: Thu, 20 Sep 2012 06:28:56 -0700
> From: Ross Finlayson<finlayson at live555.com>
> To: LIVE555 Streaming Media - development& use
> <live-devel at ns.live555.com>
> Subject: Re: [Live-devel] MPEG1or2DemuxedElementaryStream use
> Message-ID:<4FE7CB02-4CF0-487E-AAAD-4FDBEB013121 at live555.com>
> Content-Type: text/plain; charset="us-ascii"
>
>> You say:
>> Instead, you should by transmitting audio and/or video as separate RTP streams, without any Transport Stream encapsulation.
>>
>>
>> How do I do that please?
> It's hard to answer this, because you haven't said anything about your system/environment.
>
> Are you using (or planning to use) a RTSP server? If so, then I suggest starting by reviewing the "testOnDemandRTSPServer", and reading the FAQ.
>
>
> Ross Finlayson
> Live Networks, Inc.
> http://www.live555.com/
>
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL:<http://lists.live555.com/pipermail/live-devel/attachments/20120920/57f48a53/attachment-0001.html>
>
> ------------------------------
>
> Message: 2
> Date: Thu, 20 Sep 2012 06:37:23 -0700
> From: Ross Finlayson<finlayson at live555.com>
> To: LIVE555 Streaming Media - development& use
> <live-devel at ns.live555.com>
> Subject: Re: [Live-devel] Enumerate all 'clients' and memory leak
> Message-ID:<3ECEC68E-8A0A-44D4-B73C-CECA1C8D0FB6 at live555.com>
> Content-Type: text/plain; charset="us-ascii"
>
>>> My ptable pointer allocated in MediaLookupTable::ourMedia but never deleted
>>> No, that's incorrect - it *will* get deleted, if/when all "Medium" objects end
>> up getting deleted (so there's no memory leak here).
>>
>> Both VLD (visual leak detector) and ms crt debug runtime reports leaks in that
>> code.
> Once again, this table will get deleted if (and only if) all "Medium" objects get deleted. (Recall that "Medium" objects are deleted by calling "Medium::close()".)
>
>
>> BTW, i also interested in removing UsageEnvironment object too. In the sample
>> code you are advised termination code looks like this:
>>
>> pliveenvironment->reclaim();
>> delete m_plivetaskscheduller;
> That's correct. Note that the call to "UsageEnvironment::reclaim()" will reclaim all allocated memory, but *only if* all "Medium" objects have already been deleted.
>
> But the best/easiest way to reclaim all of the memory for all of the LIVE555-allocated objects is simply to call "exit(0)" - i.e., by exiting the entire process. (But I forget - this is the 21st century. For some odd reason, software developers now have forgotten how to structure their applications using multiple processes :-)
>
>
> Ross Finlayson
> Live Networks, Inc.
> http://www.live555.com/
>
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL:<http://lists.live555.com/pipermail/live-devel/attachments/20120920/593cc357/attachment-0001.html>
>
> ------------------------------
>
> Message: 3
> Date: Thu, 20 Sep 2012 06:44:46 -0700
> From: Ross Finlayson<finlayson at live555.com>
> To: LIVE555 Streaming Media - development& use
> <live-devel at ns.live555.com>
> Subject: Re: [Live-devel] Enumerate all 'clients' and memory leak
> Message-ID:<87900AA7-0EA5-4FA8-985D-B7259E24DE3F at live555.com>
> Content-Type: text/plain; charset="us-ascii"
>
>> And one more question, in the samples and the library itself many places in the
>> code looks like this:
>>
>> RTSPClient* rtspClient = ourRTSPClient::createNew(env, rtspURL,
>> RTSP_CLIENT_VERBOSITY_LEVEL, progName);
>>
>> if (rtspClient == NULL) {
>>
>> createNew() just a wrapper over the standard operator new (not overloaded, not a
>> `nothrow` version). But according the c++ standard operator new is never return
>> NULL, but throws bad_alloc on error. Why we need to check the return value?
> Yes, you're correct - in this case, the test for "rtspClient == NULL" is not needed, and could be removed.
>
> Note, however, that not all "createNew()" functions are simply wrappers around operator new. "RTSPServer::createNew()", for example, is not.
>
>
> Ross Finlayson
> Live Networks, Inc.
> http://www.live555.com/
>
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL:<http://lists.live555.com/pipermail/live-devel/attachments/20120920/5037da69/attachment-0001.html>
>
> ------------------------------
>
> Message: 4
> Date: Thu, 20 Sep 2012 13:55:36 +0000 (UTC)
> From: ??????????????<zvyagintsev at atlantis.ru>
> To: live-devel at ns.live555.com
> Subject: Re: [Live-devel] Enumerate all 'clients' and memory leak
> Message-ID:<loom.20120920T154955-990 at post.gmane.org>
> Content-Type: text/plain; charset=utf-8
>
> Ross Finlayson<finlayson at ...> writes:
>
>> But the best/easiest way to reclaim all of the memory for all of the
> LIVE555-allocated objects is simply to call "exit(0)" - i.e., by exiting the
> entire process. ?(But I forget - this is the 21st century. ?For some odd reason,
> software developers now have forgotten how to structure their applications using
> multiple processes
> Nice irony, but my code (and live555 code also) live in a dynamic link library
> which is directshow filter (COM object). I cant just 'exit(0)-and-have-fun' :)
>
>
>
> ------------------------------
>
> Message: 5
> Date: Thu, 20 Sep 2012 06:49:51 -0700
> From: Zahira Ammarguellat<zammargu at marvell.com>
> To: LIVE555 Streaming Media - development& use
> <live-devel at ns.live555.com>
> Subject: Re: [Live-devel] MPEG1or2DemuxedElementaryStream use
> Message-ID:
> <B2A7C617B3AB7F44B7B44C7D374B431E13A0FD6067 at sc-vexch3.marvell.com>
> Content-Type: text/plain; charset="us-ascii"
>
> Ross,
>
> Ok here is more info that might help you help me :)
> My server is a Linux system. My client is a QNX device. The idea is to use WIFI display (using LIVE555 to build an MPEG2-TS stream) to stream an input multi-media file to the QNX target.
> It looks likes from your previous email that creating an MPEG2-TS stream is not an ideal thing. Creating an RTP audio stream and a video stream are better suited for this work?
> With this (small amount) information looking at testOnDemandRTSPServer still holds?
> Thanks,
> -Zahira
>
>
>
> From: live-devel-bounces at ns.live555.com [mailto:live-devel-bounces at ns.live555.com] On Behalf Of Ross Finlayson
> Sent: Thursday, September 20, 2012 9:29 AM
> To: LIVE555 Streaming Media - development& use
> Subject: Re: [Live-devel] MPEG1or2DemuxedElementaryStream use
>
> You say:
> Instead, you should by transmitting audio and/or video as separate RTP streams, without any Transport Stream encapsulation.
>
> How do I do that please?
>
> It's hard to answer this, because you haven't said anything about your system/environment.
>
> Are you using (or planning to use) a RTSP server? If so, then I suggest starting by reviewing the "testOnDemandRTSPServer", and reading the FAQ.
>
> Ross Finlayson
> Live Networks, Inc.
> http://www.live555.com/
>
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL:<http://lists.live555.com/pipermail/live-devel/attachments/20120920/54bd8fb0/attachment.html>
>
> ------------------------------
>
> _______________________________________________
> live-devel mailing list
> live-devel at lists.live555.com
> http://lists.live555.com/mailman/listinfo/live-devel
>
>
> End of live-devel Digest, Vol 107, Issue 37
> *******************************************
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.live555.com/pipermail/live-devel/attachments/20120920/a1be4858/attachment-0001.html>
More information about the live-devel
mailing list