Creating a DirectShow Filter for live video/audio stream analysis (black/frozen, silence), writing events to text log file
$750-1500 USD
En curso
Publicado hace más de 10 años
$750-1500 USD
Pagado a la entrega
I need a DirectShow Filter created that does the following:
1) Analyses live video stream for black / frozen video. It can, for example, save a frame in buffer every few seconds, then compare frames. If identical then change log file.
2) Analysis the same video stream's audio track for silence. It can work similarily with the video analysis - save some samples, then analyse them. If they are with lower-than-treshold dB's, change the log file.
3) Keeps a text-based log file that basically has the live status of this stream. It would be nice to be able to change (in the DS Filter properties) the name and location of this status log file. Example of such log file contents ("NO" changes to "YES" when the problem is active in the video/audio stream):
VIDEO_BLACK|NO
VIDEO_FREEZE|NO
AUDIO_TRACK1_SILENCE|NO
AUDIO_TRACK2_SILENCE|NO
This DirectShow Filter needs to be constructed as follows:
1) Has to have a possibility to add an input - demuxed video/audio stream.
2) Possibility to analyse a stream with multiple audio tracks.
3) Has to have GUI/config file for changing the configuration of the filter.
4) The DirectShow Filter device doesn't need to output the video streams anywhere.
5) Like already mentioned, writes status log file all the time (like, updates status of each of the elements (BLACK, FREEZE etc.) every 10 or so seconds).
Hello,
I'm an expert multimedia developer, would be glad to make this project for you in about 1 week term.
Few questions:
1) It's not clear from the specification if filter has to demux the source stream by itself or stream will be demuxed by upstream filter(s) ?
2) It's not clear from the specification if filter has to decode audio/video streams by itself or it will be done by upstream filter(s) ?
Best regards,
Andrey Velikanov
Iam a directshow filter developer.
I have worked in most of the streaming apps on the encoding side.
Http live streaming.
Extracting Iframe(h264) and updating the pts from mpeg2 stream, repacking them in mp4 container.
Same type of encoding and encrypting done for http dynamic streaming, smooth streaming.
Also worked with player and audio video renderer filters, presenting them with lipsync.
In audio I have worked on aac.
Few questiones here about the project,
What is the input pin codec type for audio and video,
Is we need to do a buffer/pts comparision of frames or any other algorithm is needed
Hi, What will be parsing the log file afterwards? Outputting the information to a text file is easy enough, but it might be more appropriate for your application if that information is passed some other way. Will you be using only GraphEdit to use the filter? If you are certain the video will be identical, an easy memory compare will suffice, if you want to detect whether there is a slight change in data, then you could use some motion estimation algorithm. - Ramiro
Hello.
DirectShow supports various custom filters and the "Transform filter" is the appropriate one for your case. I'm experienced with this kind of job.
- It can have several input and output pins, and I can process the demuxed video and audio streams inputed via each pin.
- The filter can define one or more input pins with audio MediaTypes.
- The analysis can be run only when the video input is available. It means that the logs can be written only when the FilterGraph is running.
I think we can discuss more details about this project.
Regards.