Click here to Skip to main content
15,888,286 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
Greetings,
I'm using C++ DirectShow and also C# DirectShow.Net to try to process and display MPEG-2 TS (Transport Stream) video files.
These videos do play with VLC. I've been successful with video file types *.avi, *.wmv and *.mpg (type-1) but fail on Mpeg-2 TS.
Does anyone know if DirectShow will process transport stream video files for viewing?

Note: I've tried (unsuccessfully) building a filter graph for TS videos using GraphEdit.

Although I'm comfortable using LibAV and Live555, I need to know ahead if either version of DirectShow(C++) or DirectShow.Net can process an Mpeg-2 Transport Stream video file. Knowing if this can be done is half the battle. If not, I prefer not to waste the time and will use LibAV.
Thanks ahead :)
Posted
Updated 21-Jan-15 12:09pm
v3
Comments
KarstenK 21-Jan-15 11:28am    
Your problem is demuxing. Take also a look on the "Live555" code.
Sergey Alexandrovich Kryukov 21-Jan-15 12:04pm    
Why do you think so? Any link on Live555?
—SA
Sergey Alexandrovich Kryukov 21-Jan-15 12:03pm    
Unfortunately, Microsoft is notoriously picky with the use of media containers/codec. VLC is based in FFMpeg/libav library which is bundled with VCL, so it can play a lot more.
Sorry, I don't know how to make MPEG-2 and TS container work (these things are quite old and even obsolete), however... wait a minute... did you install some more or less wide codec set, something like K-Lite Codec Pack?
—SA
Maxim Kartavenkov 31-Mar-15 15:21pm    
If you not able to build filter graph then you not have codecs that required to split the TS files. VLC have it embedded but for DirectShow you need the splitter. Try to download K Lite codecs pack - in there Haali splitter and LAV splitter which allows to handle TS files.
Maxim.

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900