Solveig Multimedia Forum - Get help for video editing software

SolveigMM Software Development Kits => SolveigMM Video Editing SDK => Topic started by: Dmitry Vergeles on April 17, 2010, 01:08:50 PM

Title: SolveigMM MKV/Matrosska DierctShow Demuxer + Muxer Testing
Post by: Dmitry Vergeles on April 17, 2010, 01:08:50 PM
Hi Folks,

We are developing MKV DirectShow Muxer + Splitter.

Here is first beta version of the demuxer:
http://www.solveigmm.com/files/utils/SMM_MKVSplitter.zip

Abilities:
- Accepts input MKV files
- Parses Video/Audio/Subtitles
- Can output Annex B AVC VES stream, so it can be played back separately


Please post here all the problems you will encounter with the splitter.
Thanks In advance.

The Muxer is on the way...
Title: Re: SolveigMM MKV/Matrosska DierctShow Demuxer + Muxer Testing
Post by: Dmitry Vergeles on April 19, 2010, 02:04:59 PM
Updates:

Splitter of version - 1.0.1004.19

- Fixer jerky video playback
http://www.solveigmm.com/files/utils/SMM_MKVSplitter.zip


Muxer of version - 1.0.1004.16
- accapt 1 video + 1 audio stream, creates MKV as a output

http://www.solveigmm.com/files/utils/SMM_MKVMuxer.zip


Title: Re: SolveigMM MKV/Matrosska DierctShow Demuxer + Muxer Testing
Post by: Dmitry Vergeles on April 30, 2010, 08:55:37 AM
Updates:

SMM_MatroskaSplitter (version - 1.0.1004.27) (http://www.solveigmm.com/files/utils/SMM_MKVSplitter.zip)

SMM_MatroskaMuxer (version - 1.0.1004.27) (http://www.solveigmm.com/files/utils/SMM_MKVMuxer.zip)

Changes/Fixes:

Muxer:
Only one track was available in container after muxing more than one.

Both Muxer and Splitter:

video codecs support:
-(V_MPEG4/ISO/ASP) MPEG-4 part 2, ISO/IEC 14496-2
-(V_MPEG4/ISO/AVC)MPEG-4 part 10,ISO/IEC 14496-10
-(V_THEORA)Theora video codec
-(V_MPEG2)ISO/IEC 13818-2
-(V_MPEG1)ISO/IEC 11172-2
-(V_MS/VFW/FOURCC)Avi compatibility

audio codecs support:
- (A_AC3) Dolby AC3
- (A_MPEG/L3) MPEG-1 Layer 3,ISO/IEC 11172-3
- (A_MPEG/L2,A_MPEG/L1)MPEG-1 Layers 1,2, ISO/IEC 11172-3
- (A_DTS)DTS
- (A_VORBIS)Vorbis audio codec
- (A_AAC)MPEG-4 part 3,ISO/IEC 14496-3
- (A_PCM/INT/LIT)Uncompressed PCM, integer, little endian
- (A_PCM/FLOAT/IEEE)Uncompressed PCM, float, little endian
- (A_TTA1)True Audio lossless audio codec
- (A_WAVPACK4)Wavpack lossless audio codec
- (A_MS/ACM)Avi compatibility
Title: Re: SolveigMM MKV/Matrosska DierctShow Demuxer + Muxer Testing
Post by: Dmitry Vergeles on May 15, 2010, 11:11:34 AM
Updates:

SMM_MatroskaSplitter (version - 1.0.1005.14) (http://www.solveigmm.com/files/utils/SMM_MKVSplitter.zip)

SMM_MatroskaMuxer (version - 1.0.1005.14) (http://www.solveigmm.com/files/utils/SMM_MKVMuxer.zip)

Changes/Fixes:

Muxer:
Accept h264 AnnexB bytestream input with converting to AVC bitsteam (V_MPEG4/ISO/AVC)

Splitter:
Correct sample times when seeking to get "0" time on sample.
(e.g.:sample times: 9.0 9.04 9.08;
seek time: 9.06;
output sample times should be: -0.04 0 0.04 (not -0.06 -0.02 0.02) )

Both:
Buffer size/buffers count changes to prevent hangup on some files.
Title: Re: SolveigMM MKV/Matrosska DierctShow Demuxer + Muxer Testing
Post by: Stanislav Mikhailenko on May 19, 2010, 03:13:03 PM
Updates:

SMM_MatroskaSplitter (version - 1.0.1005.19) (http://"http://www.solveigmm.com/files/utils/SMM_MKVSplitter.zip")

SMM_MatroskaMuxer (version - 1.0.1005.19) (http://"http://www.solveigmm.com/files/utils/SMM_MKVMuxer.zip")

Changes/Fixes:

Splitter:
Fixed shimmering when seeking (Regressive bug)
Muxer:
Fixed unable to mux avc video streams an exception occures (Regressive bug)
Title: Re: SolveigMM MKV/Matrosska DierctShow Demuxer + Muxer Testing
Post by: Stanislav Mikhailenko on May 28, 2010, 08:13:14 AM
Updates:

SMM_MatroskaSplitter (version - 1.0.1005.27) (http://"http://www.solveigmm.com/files/utils/SMM_MKVSplitter.zip")

SMM_MatroskaMuxer (version - 1.0.1005.27) (http://"http://www.solveigmm.com/files/utils/SMM_MKVMuxer.zip")

Changes/Fixes:

Splitter:
BugFix: accurate seeking on B-frames with correct prerolling
"A_TRUEHD" True HD ac3 audio  support.
Seek TIME_FORMAT_FRAME  support + start/stop seek positions


Muxer:
muxing AVC: slice type (I,P,B) determination by parsing coded data ( not by using sample times).


Both:
upgrade to libmatroska 0.9.0
Title: Re: SolveigMM MKV/Matrosska DierctShow Demuxer + Muxer Testing
Post by: Stanislav Mikhailenko on June 07, 2010, 06:52:58 AM
Updates:

SMM_MatroskaSplitter (version - 1.0.1006.7) (http://"http://www.solveigmm.com/files/utils/SMM_MKVSplitter.zip")

SMM_MatroskaMuxer (version - 1.0.1006.7) (http://"http://www.solveigmm.com/files/utils/SMM_MKVMuxer.zip")

Changes/Fixes:

Splitter:
Seek speed optimization
Dynamic data buffer allocation + Memory load minimization.

Muxer:
mux dtshd-ma as "dts".
conformity  muxer's output to spec checked by mkvalidator (http://dl.matroska.org/downloads/mkvalidator/)
Title: Re: SolveigMM MKV/Matrosska DierctShow Demuxer + Muxer Testing
Post by: Stanislav Mikhailenko on June 10, 2010, 05:39:04 AM
Updates:

SMM_MatroskaSplitter (version - 1.0.1006.9) (http://"http://www.solveigmm.com/files/utils/SMM_MKVSplitter.zip")

SMM_MatroskaMuxer (version - 1.0.1006.9) (http://"http://www.solveigmm.com/files/utils/SMM_MKVMuxer.zip")

Changes/Fixes:

Splitter:
mkv chapters display in property page

Muxer:
mux subtitles.

Both:
webm (VP8+vorbis) format support
Title: Re: SolveigMM MKV/Matrosska DierctShow Demuxer + Muxer Testing
Post by: Stanislav Mikhailenko on July 05, 2010, 02:05:58 PM
Updates:

SMM_MatroskaSplitter (version - 1.0.1007.1) (http://"http://www.solveigmm.com/files/utils/SMM_MKVSplitter.zip")

SMM_MatroskaMuxer (version - 1.0.1007.1) (http://"http://www.solveigmm.com/files/utils/SMM_MKVMuxer.zip")

SMM_Matroska_Splitter_Muxer_x64_build(version - 1.0.1007.1) (http://"http://www.solveigmm.com/files/utils/SMM_Matroska_amd64.zip")


Changes/Fixes:

Splitter:
A_TRUEHD saved to matroska for MEDIASUBTYPE_DOLBY_TRUEHD guid input.

Both:
VC1 codec support
PGS subs support
update to libmatroska 1.0.0
Title: Re: SolveigMM MKV/Matrosska DierctShow Demuxer + Muxer Testing
Post by: Stanislav Mikhailenko on August 02, 2010, 09:09:15 AM
Updates:

SMM Matroska Splitter/Muxer x86 (version - 1.0.1008.2) (http://www.solveigmm.com/files/utils/SMM_Matroska.zip)

SMM Matroska Splitter/Muxer x64 (version - 1.0.1008.2) (http://www.solveigmm.com/files/utils/SMM_Matroska_amd64.zip)

Changes/Fixes:

Splitter:
Header removal compression feature support
IAMStreamSelect  iface support
Default/Force flags + current system default language support

Muxer:
Too slow mux bugfix
Title: Re: SolveigMM MKV/Matrosska DierctShow Demuxer + Muxer Testing
Post by: maquemo on August 04, 2010, 08:52:11 AM
Hi Stanislav,

I have been trying to create a matroska file with more than one stream of video (XVID) and sound (mp3) but I can't. How can I make this?

Thanks in advance,

MQM
Title: Re: SolveigMM MKV/Matrosska DierctShow Demuxer + Muxer Testing
Post by: Stanislav Mikhailenko on August 04, 2010, 03:56:20 PM
Hi Stanislav,

I have been trying to create a matroska file with more than one stream of video (XVID) and sound (mp3) but I can't. How can I make this?

Thanks in advance,

MQM
(http://solveigmm.com/img/avi_trimmer/mkv/avi_mkv_xvid_mp3_remux.jpg)

I've remuxed XVID with mp3 from avi file to mkv using SMM MKV muxer. The filters are async source-> avi splitter-> smm mkv muxer -> file writer. 

Could you explain the problem more exactly?
I suppose you can use graphedit or graph studio to construct graph, or not?
You've  said, more than one stream, does this mean more than one video track? or more than one audio?
or you just would like to remux 1 video + 1 audio? Or you have remuxed it but it can't be played?
Title: Re: SolveigMM MKV/Matrosska DierctShow Demuxer + Muxer Testing
Post by: maquemo on August 12, 2010, 01:39:27 PM
Hi, I am trying to remux more than one video track. I have at least two sources of streams (video and sound) and I need to join them in one standard multimedia format as Matroska. The source of streams is live capturing (two cameras and two microphones).

I use graphedit and monogram graph studio to construct the graph.

Sorry about my delay in the answer.

Regards,
Title: Re: SolveigMM MKV/Matrosska DierctShow Demuxer + Muxer Testing
Post by: Stanislav Mikhailenko on August 13, 2010, 06:07:18 AM
Hi, I am trying to remux more than one video track. I have at least two sources of streams (video and sound) and I need to join them in one standard multimedia format as Matroska. The source of streams is live capturing (two cameras and two microphones).

I use graphedit and monogram graph studio to construct the graph.

Sorry about my delay in the answer.

Regards,
There was limit for muxer - don't allow more than one video track. This was fixed. You can try an update versions of muxer/splitter to implement your task.
SMM Matroska Splitter/Muxer x86 (version - 1.0.1008.13)  (http://www.solveigmm.com/files/utils/SMM_Matroska.zip)
SMM Matroska Splitter/Muxer x64 (version - 1.0.1008.13)  (http://www.solveigmm.com/files/utils/SMM_Matroska_amd64.zip)

If this wouldn't help, I'll try to reproduce your problem in my end, if you provide graph's screenshot and components versions.
Title: Re: SolveigMM MKV/Matrosska DierctShow Demuxer + Muxer Testing
Post by: Stanislav Mikhailenko on October 06, 2010, 12:11:20 PM
Updates  splitter version - 1.0.1010.4 / muxer version 1.0.1009.6:

SMM Matroska Splitter/Muxer x86  (http://www.solveigmm.com/files/utils/SMM_Matroska.zip)

SMM Matroska Splitter/Muxer x64  (http://www.solveigmm.com/files/utils/SMM_Matroska_amd64.zip)

Changes/Fixes:

Splitter:
- mkv muxer/splitter chapters support  - Navigation
- IAMExtendedSeeking iface for chapter in mpc
- Add to "stream select titles" language, because name can be empty
- bugfix with no subtitles for empty names
- matorska splitter fix for V_MS/VFW/FOURCC codecs params
- KaxVideoPixelWidth KaxVideoDisplayHeight not a mandatory element fix (hangup on some files)

Muxer:
- muxer file blocking not in running state.
Title: Re: SolveigMM MKV/Matrosska DierctShow Demuxer + Muxer Testing
Post by: tamastek on November 11, 2010, 02:26:29 AM
Hi,
I have a question about the mkv splitter:
Would it be possible to add support for ordered chapters?
Title: Re: SolveigMM MKV/Matrosska DierctShow Demuxer + Muxer Testing
Post by: Dmitry Vergeles on November 18, 2010, 04:48:36 PM
Hi tamastek,

Thank you for the questions and sorry for delayed answer.
Could you please explain in more detail what do you mean by ordered chapters? As far as I know the splitter have chapters support
Title: Re: SolveigMM MKV/Matrosska DierctShow Demuxer + Muxer Testing
Post by: tamastek on November 19, 2010, 07:24:44 AM
Ordered chapters is an awesome feature of MKV usually used by anime fansub groups. It allows you to encode the opening and/or ending sequences of a series into a file of their own, and then have the OP/ED automagically inserted into each episode at the appropriate places. This saves space, because instead of encoding the OP/ED into every episode, they are only encoded once, so the main episode can be made smaller.
Title: Re: SolveigMM MKV/Matrosska DierctShow Demuxer + Muxer Testing
Post by: Dmitry Vergeles on November 19, 2010, 09:49:13 PM
Thank you. we will take allok. Do you need such a feature for some business application?
Title: Re: SolveigMM MKV/Matrosska DierctShow Demuxer + Muxer Testing
Post by: Stanislav Mikhailenko on January 10, 2011, 02:54:41 PM
Updates  splitter version - 1.0.1012.30 / muxer version 1.0.1012.29:

SMM Matroska Splitter/Muxer x86  (http://www.solveigmm.com/files/utils/SMM_Matroska.zip)

SMM Matroska Splitter/Muxer x64  (http://www.solveigmm.com/files/utils/SMM_Matroska_amd64.zip)

Changes/Fixes:

Splitter:
- make separate pins for all streams - apply without reconnect
- can't seek after language switch
- "No Subtitles" should be selected if none of other sub streams have default/forced flag set
- zlib compressed PGS Subtitles support

Muxer:
- Track Name, Language, Default  and Forced flags Selection in muxer prop page.

Also There is SMM MKV Muxer Sample Application  (http://www.solveigmm.com/files/media_utils/SMM_MKV_MuxerApp.zip)  that demonstrates ability of the muxer and allows to remux video to mkv format.
Title: Re: SolveigMM MKV/Matrosska DierctShow Demuxer + Muxer Testing
Post by: Javier on April 16, 2012, 09:50:58 PM
Hi,

We are developing an application in order to save live streaming video.

We are using the directshow filters SolveigMM File Writer and SolveigMM Matroska Muxer and we are trying to record Axis cameras H264 video streams.

We make the directshow graph RTSP Source --> SMM Matroska Muxer --> SMM Filewriter and we craft properly the .mkv file but when we want to playback, we only can play it with the VLC application. If we want to play the resulting file with directshow we can construct the graph without problems (file source --> SSM Matroska Splitter --> Video Renderer), we can do the play action, but we get a black screen all the time we are playing the video.

Is there any reason for that?

Thanks in advance!

Javier Almendrote
Title: Re: SolveigMM MKV/Matrosska DierctShow Demuxer + Muxer Testing
Post by: Dmitry Vergeles on April 17, 2012, 03:28:33 AM
Hi Javier,

Thank you for your interest to our software. Actually you should not encounter any problems in such a configuration.
What video decoder do you use? Could you upload us a sample of such a file?
Title: Re: SolveigMM MKV/Matrosska DierctShow Demuxer + Muxer Testing
Post by: Javier on April 17, 2012, 05:03:36 PM
Hi Dmitry,

First of all, thank you for the immediacy of your response.

We have tried the Axis H264 Video Decoder and ffdshow Video Decoder and we have obtained the same result.

Where could I upload an example file?

Best regards,

Javier Almendrote
Title: Re: SolveigMM MKV/Matrosska DierctShow Demuxer + Muxer Testing
Post by: Olga Krovyakova on April 17, 2012, 06:45:14 PM
Hello Javier,

You can upload the file to any file host service, e.g. to dropbox.com (http://dropbox.com).

Thanks in advance.
Title: Re: SolveigMM MKV/Matrosska DierctShow Demuxer + Muxer Testing
Post by: Javier on April 23, 2012, 05:01:26 PM
Hi,

here you have the file: http://www.2shared.com/video/DqlJkiDc/example.html

However, we are trying to implement the recording graph in a C++ library. We have found that using GraphEdit we can record without problems but when we try to code this, we cannot match the Mux Filter with the file writer (nor the Ds File Writer, neither the Solveig MM file Writer).

 HRESULT: 0x80040217 (2147746327)
Name: VFW_E_CANNOT_CONNECT
Description: No combination of intermediate filters could be found to make the connection.
Severity code: Failed
Facility Code: FACILITY_ITF (4)
Error Code: 0x0217 (535)


Thank you!

Javier Almendrote.
Title: Re: SolveigMM MKV/Matrosska DierctShow Demuxer + Muxer Testing
Post by: Stanislav Mikhailenko on April 24, 2012, 06:25:42 PM
Hello Javier,

the first problem:

"RTSP Source" i've found a lot of,  where can i get it ?
I need to reproduce this on my end to see which mediatypes it gives on output pin. It could be that it has many mediatypes. And muxer gets the first one.
i see the file was muxed with "V_MS/VFW/FOURCC" codecId string (for complete list see matroska codec specs (http://matroska.org/technical/specs/codecid/index.html)).
That's why i suppose mediatype was FORMAT_VideoInfo, because there is no any codecs private data.
And that's why this file is playing only in vlc because others expect this private data.

for correct muxing AVC1 video mediatype should be formatType == FORMAT_MPEG2Video with MPEG2VIDEOINFO structure with correct dwSequenceHeader - which will contain avc1 codec private data.


the second:
if in graphedit SMM_MKV_Muxer and SMM File Writer connects fine, I think the problem is in the code that connect it.
Are you sure that you connect Output pin of muxer with filewriter, because the muxer has 2 pins ?
We can assist you if the problem will be reproduced in graphedit.

Waiting for your comments.
Title: Re: SolveigMM MKV/Matrosska DierctShow Demuxer + Muxer Testing
Post by: Dmitry Vergeles on April 24, 2012, 07:42:07 PM
Hi Javier,

Quote
HRESULT: 0x80040217 (2147746327)
Name: VFW_E_CANNOT_CONNECT
Description: No combination of intermediate filters could be found to make the connection.
Severity code: Failed
Facility Code: FACILITY_ITF (4)
Error Code: 0x0217 (535)

Am i right that you try to develop some aplicacation with our components. In this case you need to use SolveigMM Video Ediitng SDK
http://www.solveigmm.com/en/products/video-editing-sdk/ (http://www.solveigmm.com/en/products/video-editing-sdk/).

Full version have all necessary documentation and inludes technical support pack. To acquire that  please contact us by email.
http://www.solveigmm.com/en/support/
 (http://www.solveigmm.com/en/support/)
Title: Re: SolveigMM MKV/Matrosska DierctShow Demuxer + Muxer Testing
Post by: lolapaluuza on December 03, 2021, 11:17:23 PM
Oh, is it possible to implement some of your components to my application? It would be really convenient
Title: Re: SolveigMM MKV/Matrosska DierctShow Demuxer + Muxer Testing
Post by: Olga Krovyakova on December 06, 2021, 05:23:28 PM
Hello lolapaluuza,

Thank you for your post.
Please email us to info(at)solveigmm(dot)com to discuss details.