View Full Version : ffdshow tryouts project: Discussion & Development
albain
1st June 2010, 07:47
I understand you want ffdshow to look good in your Microsoft Media Center plugin, but many ppl don't use subs in ffdshow nor care about the audio stream specs...it'd be great to have an option to have it the exact same way it was before. Please be so kind as to allow hiding all that useless stuff to the ppl who don't care for subs in ffdshow or audio media info..if any possible. :thanks:
I don't use IAMStreamSelect for media control and I don't understand your reaction, this is just a context menu, the splitters and some decoders have one too ?!! What is the big deal ??
@All : ffdshow is a codec with internal filters based on DirectShow which is a dying technology.
If one want to extend its lifetime, it has to adapt and move forward
I don't think that it will survive alone and it needs better integration with third party softwares.
This is done with media center (see this link (http://damienbt.free.fr)), I am actually doing it for Mediaportal (see this link (http://forum.team-mediaportal.com/submit-code-patches-mediaportal-tv-server-etc-325/integration-ffdshow-82613)), and I wish MPC team will one day drop its filters to integrate FFDShow too (but they are hesitating on this)
This is why I developed and improved FFDShowAPI .Net (which now works in direct access mode through interfaces against interprocess communication). This is for C# coding, and FFDShowAPI with existing C++ interfaces for C++ coding. This is a whole toolset to make integration easier
Also one will have to bring media foundation support as for divx 7
@Leeperry
I think that an - external - context menu is a negligible collateral damage. If you want to remove it, ask kmplayer team for an option to disable streams support. This is not a ffdshow matter because all the codecs are concerned (IAMStreamSelect is a MS interface)
leeperry
1st June 2010, 07:56
@Leeperry
I think that an - external - context menu is a negligible collateral damage. If you want to remove it, ask kmplayer team for an option to disable streams support. This is not a ffdshow matter because all the codecs are concerned (IAMStreamSelect is a MS interface)
so you make changes to ffdshow to make your Media Center plugin look good, and who cares if this "negligible collateral damage" fills the screen w/ useless text files in other players, right? End-users are supposed to bother all the media players coders in the world to fix your unique way of viewing things I presume? How about an end-users poll to make things even?
do you find this acceptable? http://img717.imageshack.us/img717/2183/jmp2.png
it was great the way it was before, no submenu bs, no "setup" button....but well, there's no project manager on ffdshow, anyone able to modify the SVN is allowed to do whatever fits his very own project plan.
Sebastiii
1st June 2010, 08:42
Hi,
IAMStreamSelect is a MS interface, so to use third party software Albain adapt it and i fully ok with that.
So now it's an KMplayer side to disable it if you don't want this, do you ask KMplayer team ?
Do you try with other codec who use IAMStreamSelect (MS interface) to see what happen ?
Kmplayer has to adapt it :)
Seb.
leeperry
1st June 2010, 08:44
Do you learn to speak english?
It's an uncalled change made for personal interests, this I understand...if everyone finds this useless bloat acceptable, fine.
Sebastiii
1st June 2010, 08:49
Yes i try :)
I don't think it's personal interests, and i understand that you are not agree with that, maybe you should ask KMplayer and see what is the answer ?
Bye,
Seb.
albain
1st June 2010, 11:58
so you make changes to ffdshow to make your Media Center plugin look good, and who cares if this "negligible collateral damage" fills the screen w/ useless text files in other players, right? End-users are supposed to bother all the media players coders in the world to fix your unique way of viewing things I presume? How about an end-users poll to make things even?
do you find this acceptable? http://img717.imageshack.us/img717/2183/jmp2.png
it was great the way it was before, no submenu bs, no "setup" button....but well, there's no project manager on ffdshow, anyone able to modify the SVN is allowed to do whatever fits his very own project plan.
You don't even read my posts : I told that I don't use this interface for media control
I am tired of non constructive criticisms, you don't represent the majority, and if you want to make a poll be my guest.
Last thing : the reason why you complain about the lack of FFDShow roadmap with project manager (although there is a manager, clsid) is the same reason why I am doing this
I have brought my reasons, please reread them carefully before posting again the same thing and especially this one : this is a player matter, other directshow players handle it fine (MPC, mediaportal) why not this one
Once again I don't like your tone, you may be upset but I don't appreciate this kind of talking at all
zummi
1st June 2010, 12:37
Serious trouble with rev 3466:
The 20th Century Fox intro how it should look:
http://i47.tinypic.com/2h88wso.jpg
And with rev 3466:
http://i49.tinypic.com/dyq8tv.jpg
This happens both with and without post-processing enabled. Integrated gfx: Intel GMA 4500MHD.
**** this is now fixed :)
STaRGaZeR
1st June 2010, 13:16
Context menu is the reflection of IAMStreamSelect interface, there is no code behind it and this is up to the implementation of player side.
So graphstudio for example will create a submenu for each group (audio/subs/sub files...)
Video track : not possible right now, ffdshow does not support multiple video input pins (so nogo for MPC splitter unless they plan to use one pin). About Haali's splitter, maybe it will work without changing anything but a reconnection is necessary (reload codecs, presets...). To be tested
Ok to improve the track name but not with prefix : what can be done is replace the track name by the language name when it is empty
Ah, I see. So I assume the tray icon takes the info from the IAMStreamSelect interface and then puts it on screen like ffdshow wants, and we can change that.
The MPC splitter should implement a stream switcher like Haali, and only expose one pin per stream type. But there are no volunteers for that unfortunately :(. Looking forward to test whatever you have in mind.
I'm fine with the language as name. However it'll look strange when both are not set, like Undefined [Undefined].
BTW, don't feed the troll.
clsid
1st June 2010, 15:00
it was great the way it was before, no submenu bs, no "setup" button....but well, there's no project manager on ffdshow, anyone able to modify the SVN is allowed to do whatever fits his very own project plan.Nonsense. Bad changes can easily be reverted if needed. But there is absolutely no need for that. Albain is doing a great job and invests a lot of time in ffdshow. I wish we would have more devs like him. If you don't like his changes then you are just out of luck. Criticism is always welcome if it comes with good argumentation. You are just whining like a little child.
clsid
1st June 2010, 15:09
@Albain
Could you make it so that only subtitles that match the filename are shown? As Keiyakusha's screenshot shows, it can be annoying if there are many unrelated sub files in the same folder as the current video. Imho, people should load wrongly named subtitles manually through ffdshow subtitle config.
VSFilter uses this scheme:
moviename[.subtitlename].extension
Do you have any idea what "heuristic search" does?
clsid
1st June 2010, 15:20
Hi. I just tried ffdshow rev3466 ICL11 and I have a few questions.
1) I still can't access directshow filter settings. rundll32/ffdshow.ax crashing immediately. This is just me?
Now wmv3 and divx video crashing for me and I even can't check settings... EDIT: the same with msvc buildNo problems here. Could you try my MSVC build?
http://sourceforge.net/projects/ffdshow-tryout/files/
albain
1st June 2010, 15:34
@Albain
Could you make it so that only subtitles that match the filename are shown? As Keiyakusha's screenshot shows, it can be annoying if there are many unrelated sub files in the same folder as the current video. Imho, people should load wrongly named subtitles manually through ffdshow subtitle config.
VSFilter uses this scheme:
moviename[.subtitlename].extension
Do you have any idea what "heuristic search" does?
Thanks buddy ;-)
Heuristic search is based on matching probabilities (Baylasian approach) : if your video file is named "Grand canyon.avi" and your subtitle file "GrUnd Canyon.srt" it will select it automatically (if of course no identical name can be found)
About the vsfilter scheme, I think that this is a good idea, Sebastii and I are thinking about it and I wondered it would be better to implement it on the player side or in ffdshow.
I think we can add one of the following 2 methods :
1/ retrieve all the heuristic searches (heuristic does autoselect for now, it does not make a list) based on a minimal matching percentage
2/ retrieve all the <file name>.suffix.[srt|ssa|ass...]
Which one ?
Octo-puss
1st June 2010, 15:36
Could someone explain the difference between libavcoded and ffmpeg please? I do not really know which and why to choose in video decoder settings.
Atak_Snajpera
1st June 2010, 15:46
ffmpeg-mt is multi-threaded, libavcodec not really .
albain
1st June 2010, 15:46
livavcodec = ffmpeg, always
For H264 you can choose libavcodec (ffmpeg) or ffmpeg-mt which is the multithreaded version of ffmpeg which may be less stable, but I have no problem using it considering the significant gain in CPU usage
Keiyakusha
1st June 2010, 15:56
Oh by the way I just remembered something I want to ask. Is it possible to implement queue output samples feature for EVR renderer? Or this won't be useful?
EDIT: also I resolved my problem with crash by rewriting all settings from scratch... But not sure what exactly was the cause of this.
EDIT2:
1/ retrieve all the heuristic searches (heuristic does autoselect for now, it does not make a list) based on a minimal matching percentage
2/ retrieve all the <file name>.suffix.[srt|ssa|ass...]
Personally I like 2nd, this is seems to be what I proposed earlier. But lets see what some other users think
Also in the way how it is now, this is not just annoying. For example I have some series with 70 episodes and each of them have 2 subtitles (forced and normal). Scrolling here and there to find stream I need takes minutes.
clsid
1st June 2010, 16:36
Thanks buddy ;-)
Heuristic search is based on matching probabilities (Baylasian approach) : if your video file is named "Grand canyon.avi" and your subtitle file "GrUnd Canyon.srt" it will select it automatically (if of course no identical name can be found)
About the vsfilter scheme, I think that this is a good idea, Sebastii and I are thinking about it and I wondered it would be better to implement it on the player side or in ffdshow.
I think we can add one of the following 2 methods :
1/ retrieve all the heuristic searches (heuristic does autoselect for now, it does not make a list) based on a minimal matching percentage
2/ retrieve all the <file name>.suffix.[srt|ssa|ass...]
Which one ?
How about doing #2 and fall back to #1 if no match is found?
Delerue
1st June 2010, 16:42
how about doing #2 and fall back to #1 if no match is found?
+1 :)
Keiyakusha
1st June 2010, 16:51
How about doing #2 and fall back to #1 if no match is found?
If implementing both variants possible, IMHO better to add an option and let the user decide. When there is no subs, falling back to heuristic can also pick up something that shouldn't be there.
clsid
1st June 2010, 17:51
Heuristic should not auto-select the subtitle. It should only show a list of available subs that closely match the filename of the video.
leeperry
1st June 2010, 18:12
But there is absolutely no need for that.
hehe, I guess you are the "boss" of ffdshow so you make the decisions for everybody. Glad to see that we don't agree, just like when it took you 2 years to update libsamplerate...I had been "whining" about this for years duh.
It was perfect the way it was before, no useless submenu(full of whatever text files it can find), no useless "setup" button requiring 2 buttons to open ffdshow's config...this is just very annoying, how good of an argumentation is that? I understand you need active coders so it's good that some of them are willing to make pointless changes that follow their very own agenda...oh my oh my, all that bloat must look awesomeness in his donationware Media Center plugin. Majority rules! Albain please keep adding bloat in ffdshow, how about some google ads?
You don't even read my posts
I can't seem to be able to decipher your approximative english http://forum-images.hardware.fr/images/perso/souk.gif
clsid
1st June 2010, 19:22
Your opinion has become totally irrelevant. Your attitude just causes people to ignore you.
I strongly recommend stopping the trolling or you might end up getting a strike from a mod.
pankov
1st June 2010, 20:27
How about doing #2 and fall back to #1 if no match is found?
If it's not too much work I support Keiyakusha's position - add an option and let the user decide if he wants heuristic enabled at all.
And only if it's enabled use it after unsuccessful attempt of finding subs with the other method. ... or to have a full functionality you can add an option for the user to select which method is used first
Astrophizz
1st June 2010, 21:25
Anyways, at least from my perspective, you don't have to click twice. You hover then click once, which isn't such a big deal in the grand scheme of things.
leeperry, I second clsid about your attitude issue. It is not welcome here. Please keep that in mind.
dimitrik
2nd June 2010, 13:46
@All : ffdshow is a codec with internal filters based on DirectShow which is a dying technology.
If one want to extend its lifetime, it has to adapt and move forward
I don't think that it will survive alone and it needs better integration with third party softwares.
.........
Also one will have to bring media foundation support as for divx 7
Albain - first of all thank you very much for your work on ffdshow.
I want to get into this question of whether ffdshow can survive alone or not.
I'm not sure if I misread you but are you saying that you don't believe in ffdshow's future as a standalone framework, or are you saying that you believe it should become the "decoding framework of choice" for any player?
From a technology strategy perspective, I would disagree with the first but agree with the second. But you don't want its future tied to the success or failure of other softwares...
albain
2nd June 2010, 14:43
Sorry if I was not clear enough, I meant the second
The integration as the privileged decoding & postprocessing solution into 3rd party players will guarantee the future and why not may bring reinforcement to our team.
When you see what xmbc project has achieved, it is not very different from ffdshow (except that it does not use directshow) : they use ffmpeg for decoding and postprocessing (deinterlace, noise reduction, upscaling...) and bring a front end to configure all of this
The differences is that we support more codecs, more internal filters, we have HD audio bitstreaming, better subtitles support...
Also ffdshow GUI is too complex in my opinion, it should be an "advanced user mode" that is not enabled by default against a beginner mode much lighter.
Last but not least, the current interfaces that FFDShow implement are able to get/set any setting in any preset or any live setting so all the APIs are there to facilitate this integration (in C++ or C# code)
madshi
2nd June 2010, 15:20
ffdshow is a codec with internal filters based on DirectShow which is a dying technology.
Once upon a time MS planned to replace the native win32 APIs completely with DotNet. At that time some people used to talk about native win32 programming as a dying breed, too. Now look what the Media Foundation introduction says:
Media Foundation [...] requires C/C++. Microsoft does not provide a managed API for Media Foundation.
Ironic?
Probably in 5-10 years from now MS will introduce a new media related software and in its introduction will say:
blabla requires DirectShow. Microsoft does not provide a Media Foundation API for blabla.
History tends to repeat itself.
albain
2nd June 2010, 17:57
You may be right, maybe directshow support won't be dropped very soon but MS is migrating all its codecs and new ones to media foundation.
This is annoying but we have to add support for Media Foundation. That does not mean dropping directshow, but simply add the missing interfaces to support both.
The tough part will be to make it not too hard to maintain, but we did it with DXVA, although it is more complicated here
About subtitle files : I committed some changes that should suit all needs
There is a dropdown box in the tray/icons section to select the way the subtitle files are retrieved. This affects both the tray icon menu and the IAMStreamSelect interface (external menus).
4 options : all subtitles files that can be found, subtitle files with exact matching on the video filename (<video>.ext or <video>.<suffix>.ext), heuristic matching (all the subtitle files with similarities in the file name based on a default tolerance), and lastly a mix of the 2 previous methods : list with just the exact matching names or if nothing found an heuristic list is returned
madshi
2nd June 2010, 18:07
You may be right, maybe directshow support won't be dropped very soon but MS is migrating all its codecs and new ones to media foundation.
Their codecs will still be accessible from within DirectShow, or won't they? At least the VC-1 decoder is on win7, and that's the only MS DirectShow filter I really care about. All other DirectShow filters I'm using are non-MS, anyway.
SamuriHL
2nd June 2010, 18:10
DirectShow isn't going away any time soon. Yea, media foundation classes are (currently) the "next great thing" but I only know of a handful of commercial players that support it so far. The one that springs to mind is WinDVD. I'm sure there could be others. Dropping DirectShow for anyone isn't really an option, so, it's good to see you say that's not the intent. Bolting on the MF API support will definitely pose some unique challenges. Fortunately I personally believe you have plenty of time to jump on that bandwagon and do it correctly. Don't hack it in just to get it done, IOW. :) Plan it out and do it the right way so it's easy to maintain.
Sebastiii
2nd June 2010, 20:02
You may be right, maybe directshow support won't be dropped very soon but MS is migrating all its codecs and new ones to media foundation.
This is annoying but we have to add support for Media Foundation. That does not mean dropping directshow, but simply add the missing interfaces to support both.
The tough part will be to make it not too hard to maintain, but we did it with DXVA, although it is more complicated here
About subtitle files : I committed some changes that should suit all needs
There is a dropdown box in the tray/icons section to select the way the subtitle files are retrieved. This affects both the tray icon menu and the IAMStreamSelect interface (external menus).
4 options : all subtitles files that can be found, subtitle files with exact matching on the video filename (<video>.ext or <video>.<suffix>.ext), heuristic matching (all the subtitle files with similarities in the file name based on a default tolerance), and lastly a mix of the 2 previous methods : list with just the exact matching names or if nothing found an heuristic list is returned
Hi,
Very cool :)
Thank you so much :)
Seb.
mrcorbo
3rd June 2010, 00:57
Are there any advantages to the new structure/interfaces offered by Media Foundation that would allow for better/cleaner implementations of existing ffdshow functions or would this support be added purely for added compatibility and future-proofing?
SamuriHL
3rd June 2010, 01:04
I'm wondering if media foundation classes add any stability over DirectShow? I doubt it, but, if anyone has any insight to that question I'd appreciate it. What I mean is, does using media foundation classes offer better compatibility with other codecs that use it, etc...I can see the benefit of adding it to ffdshow since MS seems hellbent on making it the new standard.
Eliminateur
3rd June 2010, 02:35
are there any plans to fix the totally broken deband filter in x64 that has been reported several times?
albain
3rd June 2010, 07:35
Media foundation is supposed to be more stable on the audio/video synchronization part
Also it is announced as easier to develop against directshow
Mike5
3rd June 2010, 10:05
Media foundation is supposed to be more stable on the audio/video synchronization part
What does this means, do they changed the reference clock mechanism ?
An improvement in this direction IMHO would be worth a conversion, because I think the biggest problem in PC players vs stand-alone players is still the fight between the sound card clock and the video card clock (or others clocks in the systems).
...I think the biggest problem in PC players vs stand-alone players is still the fight between the sound card clock and the video card clock (or others clocks in the systems).Hmm...if i use onboard video with HDMI audio, i got video and audio perfectly matched?
Mike5
3rd June 2010, 15:05
It's the same thing. Modern video cards with HDMI or motherboards with HDMI have a built-in audio card (actually a chip, Realtek generally) to feed the audio part of HDMI. So you still have (at least) two clocks: the video card clock and the Realtek chip audio clock.
ranpha
3rd June 2010, 17:37
What does this means, do they changed the reference clock mechanism ?
Media Foundation players can use MMCSS (http://msdn.microsoft.com/en-us/library/ms684247.aspx) to ensure stable, jitter-free playback.
And of-course, the MFT-initiated DXVA playback is another obvious Media Foundation advantage that DirectShow doesn't have.
MatMaul
3rd June 2010, 17:54
Media Foundation players can use MMCSS (http://msdn.microsoft.com/en-us/library/ms684247.aspx) to ensure stable, jitter-free playback.
like any player, there is an API for that.
nevcairiel
4th June 2010, 11:18
Writing filters and players for Media Foundation is alot easier then writing for DirectShow. You really do feel that it was designed for proper media playback, and alot was learned from the days of DirectShow. Someone just has to start, and provide a splitter for MediaFoundation, so we can at least play our MKVs using the MS codecs, and then maybe more people will join and provide codecs and players.
I wrote a *very* basic proof of concept MF player some weeks back. It basically can open a file and play it, just to get a feel for the APIs. Maybe once this splitter project i'm working on gets into a better shape, i can add a MF layer on top of it .. abstraction ftw.
I wrote a *very* basic proof of concept MF player some weeks back. It basically can open a file and play it, just to get a feel for the APIs. Maybe once this splitter project i'm working on gets into a better shape, i can add a MF layer on top of it .. abstraction ftw.
You could share your code...
Mixer73
4th June 2010, 11:40
DirectShow was essentially a hack, I have some insight into its development and it wasn't so much planned as it just rose from the very early capture cards...
Delerue
4th June 2010, 23:20
Sorry to interrupt this good discussion, but about the last subtitles changes, I think that there's a bug in the automatic selection of the subtitle (i.e. external or embedded). See:
http://img.photobucket.com/albums/v256/Delerue/Contextmenu.png
Both embedded and external subtitles are selected, but by default you can actually only see the internal in the screen; if you select the external, than you'll see it in the screen. I think that external subtitles should receive higher priority over embedded. What you think?
albain
5th June 2010, 11:06
Right there is a bug : both embedded and external should not be selected
However I disagree with you : embedded should be taken by at first over external subtitles.
This is the adopted behaviour on all players
Fixed in rev 3471
pankov
5th June 2010, 11:42
albain,
I kind of disagree with you.
To have external subtitles file means that someone needed them, made the effort of placing them in the same folder and naming them in the same way as the movie.
On the other hand embedded subs are present without any work.
Usually having external subs meant that the internal ones didn't work (not the correct languages) for the user and he needed an external one so why make it even harder for him and make him select them manually instead of doing it automatically for him?
at least that's what usually happens to me.
And one more thing - I don't know which players do you have in mind but I'm using Zoomplayer with VobSub (VSFilter) and it plays the external ones with priority.
clsid
5th June 2010, 12:57
I have to agree with pankov. If a user has added an external sub to a file that already has embedded subs, then it is likely that the user prefers the external one.
albain
5th June 2010, 14:35
You're right, I didn't see that way.
This behaviour is historic though but it should not be too difficult to change
*EDIT* :Fixed in revision 3472
Sebastiii
5th June 2010, 14:54
hi all :)
It works really great :)
Thank you man :)
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.