I read an article todayArticleThe content is the comparison of wmsdk and dshowsdk features, and how to choose the specific needs, the notes are as follows.
About ASF
1. This article explains ASF as advanced system format (also in wmfsdk), while some Thesis Is advanced stream format. I don't know which one is authoritative.
2. Use third-party audio and video Encoding The ASF file cannot end with wmv wma. It can only be ASF.
3. For ASF files, the maximum size of fat or FAT32 files is 4 GB, and that of NTFS files is 50 GB.
About wmsdk
1. wmformat SDK is the only option to generate an ASF file that contains a third-party encoding stream.
2. wmf sdk provides the underlying operations to enable Application ProgramHas the maximum flexibility, of course, along with a long Development Time.
3. wmencoder SDK is the most convenient to generate wmfiles. Simple .
4. wmplayer SDK, the easiest way to play ASF files Method Is a widget.
About dshow SDK
1. dshow provides a complete set Media Stream architecture, which has some high-level APIs whose basic unit is filter, implements a basic stream operation, and many filters are connected to complete a complete task.
2. dshow also provides a set of DirectShow editing services (DES) for non-linear editing. Software .
3. dshow supports ASF by providing an ASF writer and asfreader. Both Filters use the wmfsdk internally.
4. the ASF read filter is available in the new and old versions. The new version supports rate control. However, the old version is called when graph is automatically built in dshow. If you need to use the new version, you must specify it in dshow SDK.
5. for creating an ASF file Advantages Compared with encodersdk, has a smaller footprint in host memory)
Conclusion: when to use which SDK
1. In the program or Webpage play the ASF file, and use the Player SDK.
2.to add Windows Media Format support to an application not based on directshow, use WM format SDK. (This is not the same as I did not say)
3.to add Windows media format support to a DirectShow-based application, use directx8 or 9.
4.to build a Windows-based universal-format player, use DirectX SDK.
5.to build an application for editing Windows Media Format files, ues DirectX with DES.