DirectShow Encoding failed

DirectShow Encoding failed

Hi,

Standard DirectShow Encoding failed.
3.0.554.34012 Beta4 at Win7.

What is going wrong?

Tracer 3.0 Log File:
GraphStudio-MP4_To_IntelH264Enc_Analyzer.log

Graph Screenshot:

GraphStudio DirectShow graph details:

--------------------------------------------------
Filters
--------------------------------------------------

1. D:\\TestAnims\\MP4\\IMAG0031.MP4

File: D:\\TestAnims\\MP4\\IMAG0031.MP4

2. Microsoft DTV-DVD Audio Decoder

3. Microsoft DTV-DVD Video Decoder

4. Intel Media SDK AAC Encoder

5. Intel Media SDK H.264 Encoder

6. Intel Media SDK MP4 Muxer

7. File Sink

File: C:\\TEMP\\out.mp4

--------------------------------------------------
Connections
--------------------------------------------------

1. [D:\\TestAnims\\MP4\\IMAG0031.MP4]/(Video) -> [Microsoft DTV-DVD Video Decoder]/(Video Input)

Major: MEDIATYPE_Video

Subtype: {31435641-0000-0010-8000-00AA00389B71}

bFixedSizeSamples: FALSE

bTemporalCompression: FALSE

lSampleSize: 1

cbFormat: 190

Format: FORMAT_MPEG2_VIDEO

VIDEOINFOHEADER2:

rcSource: (0,0,0,0)

rcTarget: (0,0,0,0)

dwBitRate: 0

dwBitErrorRate: 0

AvgTimePerFrame: 333666

dwInterlaceFlags: 0

dwCopyProtectFlags: 0

dwPictAspectRatioX: 16

dwPictAspectRatioY: 9

dwControlFlags: 0

BITMAPINFOHEADER:

biSize: 40

biWidth: 1280

biHeight: 720

biPlanes: 1

biBitCount: 24

biCompression: 0x31637661

biSizeImage: 0

biXPelsPerMeter: 1

biYPelsPerMeter: 1

biClrUsed: 0

biClrImportant: 0

MPEG2VIDEOINFO:

dwStartTimeCode: 0

cbSequenceHeader: 58

dwProfile: 77

dwLevel: 40

Sequence Header:

00 32 27 4d 00 28 9a 62 80 a0 0b 77 fe 00 02 00

02 20 00 00 7d 20 00 1d 4c 1d 0c 00 3d 0a 00 01

12 a9 dd e5 c6 86 00 1e 85 00 00 89 54 ee f2 e1

f0 88 45 1e 00 04 28 ee 3c 80

2. [D:\\TestAnims\\MP4\\IMAG0031.MP4]/(Audio) -> [Microsoft DTV-DVD Audio Decoder]/(XForm In)

Major: MEDIATYPE_Audio

Subtype: {000000FF-0000-0010-8000-00AA00389B71}

bFixedSizeSamples: FALSE

bTemporalCompression: FALSE

lSampleSize: 1

cbFormat: 23

Format: FORMAT_WaveFormatEx

WAVEFORMATEX:

wFormatTag: 0x00ff (255)

nChannels: 2

nSamplesPerSec: 48000

nAvgBytesPerSec: 192000

nBlockAlign: 4

wBitsPersample: 16

cbSize: 5

Extradata:

11 90 00 00 00

3. [Microsoft DTV-DVD Audio Decoder]/(XFrom Out) -> [Intel Media SDK AAC Encoder]/(XForm In)

Major: MEDIATYPE_Audio

Subtype: MEDIASUBTYPE_PCM

bFixedSizeSamples: TRUE

bTemporalCompression: FALSE

lSampleSize: 1

cbFormat: 18

Format: FORMAT_WaveFormatEx

WAVEFORMATEX:

wFormatTag: 0x0001 (1)

nChannels: 2

nSamplesPerSec: 48000

nAvgBytesPerSec: 192000

nBlockAlign: 4

wBitsPersample: 16

cbSize: 0

4. [Microsoft DTV-DVD Video Decoder]/(Video Output 1) -> [Intel Media SDK H.264 Encoder]/(In)

Major: MEDIATYPE_Video

Subtype: MEDIASUBTYPE_NV12

bFixedSizeSamples: TRUE

bTemporalCompression: FALSE

lSampleSize: 1382400

cbFormat: 1136

Format: FORMAT_VIDEOINFO2

VIDEOINFOHEADER2:

rcSource: (0,0,1280,720)

rcTarget: (0,0,1280,720)

dwBitRate: 331445218

dwBitErrorRate: 0

AvgTimePerFrame: 333667

dwInterlaceFlags: 129

dwCopyProtectFlags: 1

dwPictAspectRatioX: 1280

dwPictAspectRatioY: 720

dwControlFlags: 8321

BITMAPINFOHEADER:

biSize: 40

biWidth: 1280

biHeight: 720

biPlanes: 1

biBitCount: 12

biCompression: 0x3231564E

biSizeImage: 1382400

biXPelsPerMeter: 0

biYPelsPerMeter: 0

biClrUsed: 0

biClrImportant: 0

5. [Intel Media SDK AAC Encoder]/(XForm Out) -> [Intel Media SDK MP4 Muxer]/(Input 1)

Major: MEDIATYPE_Audio

Subtype: {000000FF-0000-0010-8000-00AA00389B71}

bFixedSizeSamples: FALSE

bTemporalCompression: FALSE

lSampleSize: 1

cbFormat: 18

Format: FORMAT_WaveFormatEx

WAVEFORMATEX:

wFormatTag: 0x5473 (21619)

nChannels: 2

nSamplesPerSec: 48000

nAvgBytesPerSec: 16000

nBlockAlign: 1

wBitsPersample: 16

cbSize: 0

6. [Intel Media SDK H.264 Encoder]/(Out) -> [Intel Media SDK MP4 Muxer]/(Input 0)

Major: MEDIATYPE_Video

Subtype: MEDIASUBTYPE_H264

bFixedSizeSamples: FALSE

bTemporalCompression: TRUE

lSampleSize: 1

cbFormat: 112

Format: FORMAT_VIDEOINFO2

VIDEOINFOHEADER2:

rcSource: (0,0,1280,720)

rcTarget: (0,0,1280,720)

dwBitRate: 4868000

dwBitErrorRate: 0

AvgTimePerFrame: 166833

dwInterlaceFlags: 0

dwCopyProtectFlags: 0

dwPictAspectRatioX: 184320

dwPictAspectRatioY: 103680

dwControlFlags: 0

BITMAPINFOHEADER:

biSize: 40

biWidth: 1280

biHeight: 720

biPlanes: 1

biBitCount: 12

biCompression: 0x34363248

biSizeImage: 1382400

biXPelsPerMeter: 0

biYPelsPerMeter: 0

biClrUsed: 0

biClrImportant: 0

7. [Intel Media SDK MP4 Muxer]/(Output) -> [File Sink]/(in)

Major: MEDIATYPE_Stream

Subtype: GUID_NULL

bFixedSizeSamples: TRUE

bTemporalCompression: FALSE

lSampleSize: 1

cbFormat: 0

Format: GUID_NULL

Thanks,
Holger Burkarth

www.prodad.com
8 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

Hi Holger,

Can you please provide some more info about your setup?- Are you using Haali media splitter? I am able to reproduce similar issue using Haali, I get the error "Graph could not change state: At least one of the pins involved in the operation is already connected", is this also seen at your end?- Would it be possible to share the MP4 file you are using so that we can reproduce your exact scenario?

Also, from the trace log I can see that HW acceleration is not used? What platform are you running your solution on?

Regards,Petter

Hi Petter,

many thanks for your quick response.

Haali-Splitter was used in one case.

The "already connected" error is with MainConcept, but not with Haali on my system.

I have uploaded two media files for your tests.

Please read alldetails:
DirectShow Encoding via Intel H264 failed.pdf

Thanks,
Holger

www.prodad.com

Hi Holger,

The URL to "IMAG0031.MP4" file is not working. Could you please upload again.

Regarding your platform configuration. The "Intel i7 860" is an older platform that does not support HW acceleration of encode. Also I see that you have a discrete card attached. If this is set to primary card, then HW acceleration via Media SDK will not work by default. You can either disconnect that card or follow the details in the Media SDK manual appendix to use Intel Processor Graphics via secondary monitor.Also, make sure you use the latest Intel graphics driver for your platform.

Regards,Petter

Hi Petter,

Both links are physically exists, but the pdf has not linked these files correctly.

I'm interesting on hw-acceleration and software encoding.
First, the software variant should work.
I hope that's possible.

Thanks,
Holger

www.prodad.com

Hi Holger,

I still cannot get to "http://www.prodad.de/public/download/IMAG0031.MP4". Can you please make sure it's there?

Regards,Petter

Hi Petter,

That's very strange. The link works on my site (Europe).

Both video files are attached this post.

Thanks,
Holger Burkarth

Attachments: 

AttachmentSize
Downloadvideo/mp4 IMAG0031.MP43.77 MB
Downloadvideo/quicktime WrongAudioExportTime.mov79.19 MB
www.prodad.com

Hi Holger,

sorry for the late reply on this post. We have been exploring your way of using the Media SDK sample filters and have the following comments and suggestions.

The DirectShowvideo encoder/decoder filters that are shipped with Media SDK are samples and due to limited resources we can only ensure support (and validate) for a small range of filters that may be connected with the sample filters. The "MS DTV-DVD Video Decoder" is unfortunately not part of our validation and therefore it's not surprising that you have encountered some issues.

We did perform some debugging using your setup and have assessed that supporting the DTV-DVD filter is not trivial, partially due to the way frame surfaces are handled.

We will continue to enhance our samples as part of the Media SDK product but we cannot commit to resolving this specific issue. We are also exploring how we can extend decoder samples to support other splitters than the binary reference splitters that is shipped with the SDK.

So based on this, may I suggest you instead explore using the SDK provided mp4 and mpeg splitters. Unfortunately this does not cover all types of content but it may partly satisfy your needs.

If you are adventurous you can explore making the required encoder filter changesyourself. After All, these are samples, you are free to modify in any way.

Regards,Petter

Leave a Comment

Please sign in to add a comment. Not a member? Join today