AVI subtype playback issues - codec

I have two AVI videos. one will play in an application i am using and the other will not.
looking at them in Media Player Classic properties, they have exactly the same specifications
Codec : DVSD
Named: DVC/DV
but looking at them in GSpot, I finally found a difference.
the working file uses OpenDML AVI 2.0
whereas the file that will not open uses AVI 1.0
I need to convert one to the other, but i cant find a way to convert from one codec to a different version of the same codec, muchless how to find different editions of the same codec.
If anyone has an idea of how to fix this or what the other differences may be, please let me know.
The application I am trying to open these with only functions on Windows XP if that is any indication of what the problem may be.

using the option "save as old avi format" in VirtualDub solves this problem.
http://www.virtualdub.org/download.html

Related

Index broken or missing of AVI encoded with Media Foundation

So I am generating an uncompressed avi using Media Foundation. The frames of the avi originate from in RAM images which are processed.
I manage to generate an avi file which can be played in our own application and in windows media player without a problem. However, when the avi file is played using VLC we get the message: "Index of the file is missing or broken". We can play as is but we want to get rid of the error message. (We also do the same for the h264 format using Media Foundation and this does not include the problem).
I have researched the problem quite extensive and found a possible explanation of the problem here: https://learn.microsoft.com/en-us/answers/questions/114418/mftranscodecontainertype-avi-not-creating-index.html
Another remarks I saw somewhere is that Media Foundation does have a bug in writing the index but I am not sure about this.
I have not figured out a workaround or solution yet. So hopefully someone over here can help.
To give an idea of how the avi is generated (pseudo code):
MFStartUp()
MFCreateFile(MF_ACCESSMODE_READWRITE, MF_OPENMODE_DELETE_IF_EXIST, MF_FILEFLAGS_NONE, pinnedFilename, &pByteStream);
MFCreateAVIMediaSink(pByteStream, pMediaType, NULL, &pMediaSink);
MFCreateSinkWriterFromMediaSink(pMediaSink, pAttr, pSinkWriter);
pSinkWriter->SetInputMediaType(_videoStreamIndex, spTypeIn, NULL)
pSinkWriter->BeginWriting()
Add Frames
SinkWriter->Finalize()
MFShutdown();

Directshow advice for range of functionality or is there a better alternative (.NET)?

I've been doing some work in VB.Net with Directshow over the past 3-4 weeks. I'm creating an application to keep tags on a video and eventually want to be able to extract the tagged parts of the video to a new file. In a video that is 2 hours long I might want to extract say 50 10-15 second "clips" up to 15 times (event tagging). This will be for a free application.
I've found it brilliant (and easy) to render / seek / play clips, etc on XP-Win7 with no issues. I've "discovered" the joys of GraphEdit, creating graphs, the issues with COM in VB.NET, GMFBridge, ....etc.
Now I need some advice. Am I using the right technology. Directshow seems to be very resistant to the idea of "open video", "seek to clip", "write clip to file", .....repeat for all clips, close file. I can sort of do this already if I visibly render the video but would need to do it as a background task faster than realtime render speed.
Things that seem to be missing are:
- an example of anyone doing anything similar (export multiple clips to a single file)
- no easily available 64bit compressors (lots of 32bit stuff around)
- all the references and examples I do find are VERY old
- VB.NET is not the first "port of call" for DirectShow developers
So, the question is, should I be using something else?
If not, has anyone done anything similar before. I'm not looking for their code, I just want some guidelines as it takes ages to figure things out in DirectShow and VB.Net just using trial & error (and Google).
I've looked at AFORGE (no sound), FFMPEG (command line toolset), Media Foundation (reluctant to throw away XP) and a variety of commercial helper libraries but not really getting any further.
Apologies for the length but I wanted readers to understand the background.
All help appreciated.
To output clips to a single file Microsoft had created the "DirectShow Editing Services". Sometimes it works, sometimes not. We use it in our software to create videos from clips like you. With a little bit work you can also include effects to the video.
It is also possible to use AviSynth. It's a scripting system and frameserver for DirectShow.
As I know, with MediaFoundation you can also create a video from multiple clips, but I never tried this.

How can I convert avi to mp4 using graphedit and ffdshow?

I´m working on an application based on directshow that has to convert an AVI source file to to an mp4-file that can be played back with Quicktime.
Since 3ivx, according to my web research the most popular way to fulfill this task, has become commercial (and my budget is quite limited), I decided to use a solution based on ffdshow.
I created a simple graph in graphedit, using LAME for audio encoding and GDCL MPEG 4 Multiplexor for the muxing, but everytime I try to play the movie with Quicktime, I´m getting an error indicating a wrong "sample description".
Playback with Windows Media Player is working, except that there is no sound.
My guess is that there´s a problem with the muxer, because every time I try to add audio encoding, graphedit automatically adds an decoder after the encoding unit (see picture link).
http://imageshack.us/photo/my-images/39/graphjrgr.png/
Any ideas on how to integrate ffdshow in a better way, tips for alternative mp4 muxers, or a complete different approach are appreciated!
The GDCL muxer has limited number of audio formats that it supports, probably you should check the source code for the muxer to see if the formats you are using are in fact supported. Basically, you need to choose an audio encoder that the mux recognizes as valid. It might be possible to use GraphEdit to choose different properties for the encoder filter that allow things to work better.
I have had some luck with the Monogram x264(video) and AAC(audio) encoders. See http://blog.monogram.sk/janos/directshow-filters/
Finally, try the debug version of the GDCL mp4 muxer.
Also, you must be aware of MPEG-4 LA licensing requirements for x264 http://www.mpegla.com/main/programs/AVC/Pages/FAQ.aspx

PDF to HTML or similar

I'm building an application to view pdf's through a browser without the need of a plugin on mobile devices. I tried ImageMagick and ghostscript to covert the pages to images but they are far too large and text becomes unclear. I see website offering a service of converting pdf's into html and do a descent job but I can't find an example of how this is accomplished. Any help is much appreciated. Thanks!
EDIT: I seem to have read the question backwards. In this case it might be best to parse through the PDF and then format some HTML based on what you find. I believe the javapdf option is capable of this, but I haven't used any of these so I am not sure. If worse comes to worst and you can't find software to disassemble a PDF, you might be able to write your own disassembler in Java or PHP by reading the PDF specification. Best of luck!
http://www.adobe.com/devnet/pdf/pdf_reference.html - PDF Specification (Adobe Modified Version, because they are most popular you may want to support their extensions)
-- OLD -- These websites probably write their own proprietary software to do the trick. If you are truly interested in this undertaking, I would suggest parsing the HTML to get the data and style information and using it to format some sort of PDF writer APIs. A quick Google search yields the following: -- END OLD --
http://www.cutepdf.com/Solutions/
http://ruby-pdf.rubyforge.org/pdf-writer/doc/index.html
http://asprise.com/product/javapdf/
If you are looking at converting PDF to HTML and planning to run the conversion on a server, then you can try pdf2html. It is a program packaged as part of poppler-utils. I do not know how the program accomplishes it.
I was googling and came across the below link explaining how scridb.com implements conversion.
http://coding.scribd.com/2010/06/01/the-perils-of-stacking/

Reading Tiff files in Adobe Flex based Application

can some one help me in reading TIFF files at runtime in Flex/AS3 based applications?
Thanks for your time guys.
You'll need a TIFF reader written in ActionScript, it's not built into the framework or player. Google Code Search offers a few options:
http://google.com/codesearch?q=tiff+lang%3Aactionscript&hl=en&btnG=Search+Code
This one looks most promising:
http://google.com/codesearch/p?hl=en#ADyxW5M5wHw/trunk/TD/src/tiff/Tiff.as&q=tiff%20lang:actionscript&sa=N&cd=3&ct=rc
http://code.google.com/p/windowsbitmapdencoder
Here is a tiff - baseline decoder I wrote back in july.
It will read all "baseline" formats, 1, 8, 24 bpp.
It will handle Intel/Motorolla byte order as well as interlace or planar pixel order.
However, it does not support compression yet.
But feel free to append !
I have started working on LZW and ZIP and can offer you the source code of implementation.
Sincerely,
CT

Resources