Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > Programming and Hacking > Development

Reply
 
Thread Tools Search this Thread Display Modes
Old 14th October 2014, 19:20   #1  |  Link
juliusfriedman
Registered User
 
Join Date: Oct 2014
Location: U.S.A.
Posts: 6
Managed Media Aggregation

Hello Guys,

I am the author of the Open Source project @ https://net7mma.codeplex.com/. (Managed Media Aggregation)

The library is Mono and Windows CLR Compatible and is targeted at the .Net 4.5.2 Run time to take advantage of SIMD Support via RyuJit.
The project is completely managed C# library which provides a RtpClient, RtspClient and RtspServer. (TCP/UDP and HTTP)

I have recently added support for all major video file formats including:

(mp4, mov, 3gp, f4v, etc)Base Media Files
(avi, riff) Resource Interchange Files
(ebml, mkv, mka) Extensible Binary Meta-Language / Matroska Files
(asf, wmv, wma) Advanced Systems / Windows Media Format
(.mxf, .omf, .aaf) Material Exchange Format.

The library can read information including:

File Level Properties including Meta Data.

Tracks Properties - Height, Width, Frame Rate / Sample Rate, Duration, Time Scale, Created and Modified Date, Channel Count and more.

Samples From Tracks is being developed now and will be ready within a few weeks which will make it a full featured demuxing solution.

After that Writing (Muxing support) and Decoding as well as Encoding support are planned.

The library already has better performance and lower memory usage in Rtp, Rtsp and File Parsing then FFMPEG and VLC and I plan to keep it on that path during the life cycle of it's development.

I am looking for any compatibility issues or bugs with the library and as I know this forum is where a lot of Audio and Video discussions are had I decided I would make a post here to spread the word.

If you notice absolutely anything including suggesting API changes or recommending support for a new format or simply a bug or typo please let me know either here or on the project discussion page.

*Please Stick if appropriate*



Last edited by juliusfriedman; 14th October 2014 at 19:37.
juliusfriedman is offline   Reply With Quote
Old 19th October 2014, 19:11   #2  |  Link
juliusfriedman
Registered User
 
Join Date: Oct 2014
Location: U.S.A.
Posts: 6
Update

I have just updated the library again.

The `Container` release now has support for the following formats:

General Exchange Format (SMPTE 360M-2001)
.gxf

Ogg / Ogm
.ogg, .ogv, .oga, .ogx, .ogm (New and Old Headers)

Nut
.nut

Real
.ra, .rm, .rv

Work will now be moving towards the 'Demuxer` release which should also subsequently allow the code to be used to any container file as well as to ease integration with Silverlight, Media Foundation or nAudio for those who are using them.


Last edited by juliusfriedman; 28th November 2014 at 06:55.
juliusfriedman is offline   Reply With Quote
Old 21st November 2014, 00:15   #3  |  Link
juliusfriedman
Registered User
 
Join Date: Oct 2014
Location: U.S.A.
Posts: 6
I have just updated the library YET again, MPEG Container implementations have been added such as TransportStream (.ts etc), ProgramStream (.VOB, .EVO, .ps, .psm .m2ts etc) and PacketizedElementaryStream (.pes etc).

I also now have separated the containers so each one can be used independently of each other.

I have also done the same for the codec implementations.

The individual Rtp profiles are next to be separated as they are only defined in the RtspServer.dll

I plan on having the 'Demuxer`release finished around Christmas / New Years, maybe a little later and then 'Muxer' and 'Decoder' will follow not to long after.


Last edited by juliusfriedman; 28th November 2014 at 06:59.
juliusfriedman is offline   Reply With Quote
Old 12th July 2016, 06:56   #4  |  Link
juliusfriedman
Registered User
 
Join Date: Oct 2014
Location: U.S.A.
Posts: 6
Better late than never...

The project has received limited feedback and limited support... and I am 100% sure that this thread has had absolutely 0 impact on my project.

The more feedback and support I get the more inclined I will be to work on the project and provide substantial updates as well as support.

Since everyone seems to be content with the existing `tools` they already have I will only assume this thread should no longer be updated as it provides no benefit to either my project or this community at large.

If you care to join my project in some way your feedback would probably be welcome.

Until such an inevitable time arises...

Regards
juliusfriedman is offline   Reply With Quote
Old 12th July 2016, 16:04   #5  |  Link
raffriff42
Retried Guesser
 
raffriff42's Avatar
 
Join Date: Jun 2012
Posts: 1,377
I read this thread, drilled into your docs (OK skimmed them) and failed to find answers to some basic questions:
Who is your target user base? (developers I asume, but what kind?)
What does this library do? ("aggregate" media over the network in some way?)
Where is a working example? (I would want to know the library works before spending any time on learning it)
Why would people want this? (as opposed to say, VLC or ffmpeg, if they perform similar functions)
Maybe people don't want to respond to avoid looking foolish for asking these dumb questions.
raffriff42 is offline   Reply With Quote
Old 18th July 2016, 15:59   #6  |  Link
juliusfriedman
Registered User
 
Join Date: Oct 2014
Location: U.S.A.
Posts: 6
For whatever it is worth I do appreciate your response.

A wise individual once told me: `There is no such thing as a bad question` but a wiser individual once told me `Ask whatever you want, The worst that can happen is that you will get NO response` and someone wiser than said `Questions lead to more questions.`;

What I will say in response here will be brief but I will expand the notion of these concepts further through the documentation provided in my project.

What does this library do?

It provides an object oriented application programming interface which exposes the concepts and entities which are required to interface with other such programs or hardware for the purpose required.

More succinctly, it provides packet implementations for Rtp, Rtcp and Rtsp (as well as Http) and further consolidates them and unifies them under an interface which allows a myriad of diverse inter-interactions which would otherwise be impossible to achieve.

Where is the working example

Is there not a `UnitTest` solution? Is that `solution` not sufficient to demonstrate how the included classes and the server are intended to work?

There is an example of using the RtspClient, RtpClient, RtspServer and all other included classes, some examples are more functional than others.

Who is not the target user base?

Portable Executable could just as well provide the `ease of use` in which the `ffmpeg / aconv` application provide, i.e. `net7-mma -rtsp` etc.

Why would people want this

Why wouldn't they?

Without even taking a shot at any other library here I can outline quite a few things here which are probably not handled correct by your existing `Tools` regardless of who made them.

Specifically I saw in other tools the following common attributes:

Rtsp / Http Message Parsing is not accurate with respect to the request for comments.

Interleaved Binary Data is not handled appropriately

Rtp and Rtcp data is not verified before it is delivered to the display stack which is a MAJOR security concern considering most implementations also utilize Any Port (0) to perform reception when their configuration allows for such.

In short,

Data which is sent and received by most existing tools is done so in a highly unpredictable and mostly incorrect way (with respect to various particulate matter)

Finally,

My libraries are built in .Net which all but eliminates the requirement of providing binaries which are built and linked to other software which is specific to the architecture where it is being deployed, it thus decreases the amount of time you would have to take to update such deployments and it would also implicitly make such systems more secure and efficient.

Thank you again for your time and response.
juliusfriedman is offline   Reply With Quote
Reply

Tags
mp4, playback, rtp, rtsp, server

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 02:47.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, vBulletin Solutions Inc.