Hello!
I would like to have some guidelines of how to combine video streaming over UDP with FEC-encoding? I would like to know what changes to be made - e.g. which data to take (in which classes, in which functions) and FEC-encode before sending it; and where to find the buffers with data to FEC-decode on the client-side before playing it. The server streams the data. It shouldn't keep track of any state of what data the clients have received, nor receive any acknowledgments from the clients during the video streaming. It merely keeps track of what data it has sent. I want to use a simple UDP-protocol. Thanks! --Kind regards, Anders [Personal blog] Will of the Creator : Logical reasons - based on scientific premises - for the existence of a Super intelligent and A Orderly Creator and that He hasn't left His sapient creatures without an Instruction Manual - Torah ['books of Moses'] - to ascertain, and aspire to, His purpose. [Company] Anders Branderud IT Solutions - www.abitsolutions.org _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
FEC is not needed for UDP. The UDP service delivers a packet, or does not. UDP does not randomly flip some bits inside the packet. To tolerate packet loss, only redundancy is needed. If you really want FEC, I don't think you will find ready to use libraries. FEC is used in spacecraft applications.There is some really good free documentation here. The old stuff is simpler and probably good enough. There is some free source code available. Some related topics:
-- Reed Solomon block coding, used in CDroms, to protect against scratches. -- RAID, used for fault tolerant disk arrays. Good luck, Bert Douglas
On Tue, Mar 27, 2012 at 4:11 AM, Anders Branderud <[hidden email]> wrote:
_______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Hi,
On Tue, 2012-03-27 at 09:18 -0700, Bert Douglas wrote: > FEC is not needed for UDP. The UDP service delivers a packet, or > does not. > UDP does not randomly flip some bits inside the packet. > To tolerate packet loss, only redundancy is needed. I think he means Forward Erasure Correction (not Error), which is definitely useful for UDP. I wrote an experiment adding simple Reed-Solomon based FEC to Farstrem last year [1]. There is also the IETF fecframe workground working on that in the context of RTP [2]. That said, for most media applications, codec and media specific methods are more efficient. Olivier [1] http://cgit.collabora.com/git/user/tester/farstream.git/log/?h=fec or http://cgit.collabora.com/git/user/tester/farstream.git/log/?h=tfrc-fec [2] http://datatracker.ietf.org/wg/fecframe/ -- Olivier Crête [hidden email] _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel signature.asc (205 bytes) Download Attachment |
I am also facing the same problem. I am having two UHF radio 35 km apart and sending live video stream from one station to other. but i recieved sliced video at other end. i used gstremer-0.10 and h284 codec but don' know how to implement FEC with gstreamer to reduce the packet loss. can you please tell me how to recover video quality by suing fec.
|
Free forum by Nabble | Edit this page |