View Full Version : LAV Filters - DirectShow Media Splitter and Decoders
nevcairiel
25th August 2013, 13:17
Probably, a sample would still help to support it eventually.
nevcairiel
25th August 2013, 13:43
When I was trying to play an avi file with h.264 video, there's problem for mpc-hc to render the pin of the video in the graph to the video decoder of nav filters.
Without actually seeing such a file its hard to say, but did you try with the latest version? I would've though such files should at least present a different media type, and hopefully even work.
moffy
26th August 2013, 03:54
how to set windows environment variables to compiler lav?
I modified the build.bat file as follows:
call "%VS100COMNTOOLS%vsvars32.bat"
set PATH=%PATH%;c:\msys\bin;c:\msys\mingw\bin
sh build_ffmpeg.sh x86
devenv LAVFilters.sln /Rebuild "Release|Win32"
REM sh build_ffmpeg.sh x64
REM devenv LAVFilters.sln /Rebuild "Release|x64"
PAUSE
The Path statement includes the necessary msys and mingw directories. Also make sure you download his build toolset, as I had all sorts of issues with the DLL's and Filters building successfully but not loading. It looked like some of the DLL's were corrupted because of my older tools. Best of success.
Mercury_22
26th August 2013, 17:51
@nev if I enable UHD(4k) in lav video is it suppose to work with AMD now (latest git) ? Or it's still disabled ?
wanezhiling
27th August 2013, 01:27
nev never changed anything for that option, so AMD is still blocked. :p
sdancer75
29th August 2013, 02:47
Hi
While I am statically linking the ffmpeg libraries with the lav filters project, the final ax filter still needs the shared dll files.
Why ? Can I resolve the problem to use the filter without any dependencies ?
nevcairiel
29th August 2013, 06:50
This is not and will not be supported, sorry. Its specifically designed to use shared libraries.
sdancer75
29th August 2013, 10:52
This is not and will not be supported, sorry. Its specifically designed to use shared libraries.
What's the problem to force the compiler to encapsulate the libraries inside the filter ? I mean, which is exactly that specific design that does not allow to use static libs ?
nevcairiel
29th August 2013, 11:06
I'm sure you could somehow hack it to do that, but the important part is that i will not support it, and as such not help do it. Sorry. There are simply no advantages, and only disadvantages.
Static Linking mingw libs with MSVC just causes pain.
sdancer75
29th August 2013, 12:50
I'm sure you could somehow hack it to do that, but the important part is that i will not support it, and as such not help do it. Sorry. There are simply no advantages, and only disadvantages.
Static Linking mingw libs with MSVC just causes pain.
Hi,
For the Lib creation we use the LIB.exe utility from MSVC command prompt right ? So the Lib format is compatible with the visual studio compiler and ready to apply... what does it make to you think that the linking is a problem ?
Regards,
nevcairiel
29th August 2013, 12:51
what does it make to you think that the linking is a problem ?
Experience.
sdancer75
29th August 2013, 13:10
Experience.
Ok.... I give it a try and i will let you know !!!
PS: The libs libiconv-2.dll and libz-1.dll are also needed but I didn't compile such libraries... I just downloaded from the internet. Where they came from ? Can I eliminate them with a new ffmpeg compiliation using appropriate parameters ?
Anima123
31st August 2013, 20:50
Without actually seeing such a file its hard to say, but did you try with the latest version? I would've though such files should at least present a different media type, and hopefully even work.
The link of a sample sent to your pm box.
LeChuck
31st August 2013, 22:55
Hi nevcairiel,
Regarding the DTS-Bitstreaming bug that i posted on July 12, 2013 (audio goes silent at Tron-Legacy Blu-ray ...)
I found another one: Oblivion Blu-ray, German audio track at 25:40, exactly the same behavior:
- audio goes off and stays off until seeking to another position
- happens with LAV-Audio (bitstreaming) DTS-Core
- does not happen with FFDShow-Audio (bitstreaming), MPC-HC-Audio (bitstreaming) or LAV-Audio (Software-decoding) and in these cases plays without any audible artifacts.
A 30sec sample file can be found here: <http://sdrv.ms/11ta4p3> Problem occurring at 00:16
If it is the same problem again, then it might not just be another random "corrupted DTS frame" but something the current code doesn't handle correctly?
I just noticed that both german audio tracks (Tron-Legacy and Oblivion) are of the same format: DTS-HD HRA 7.1 with 5.1 DTS-Core. Surely you know these formats well enough to figure out if this might have something to do with it.
best regards...
nevcairiel
1st September 2013, 00:22
The link of a sample sent to your pm box.
The sample seems to play just fine with latest LAV Splitter + LAV Video decoder.
Anima123
1st September 2013, 00:56
Just installed the latest snapshot from XhmikosR's site and still no luck.
I checked the configuration of mpc-hc and made sure no internal filter used.
filler56789
1st September 2013, 03:32
Just installed the latest snapshot from XhmikosR's site and still no luck.
Latest build from XhmikosR's was uploaded on 2013-06-29. ;)
Get a less-outdated binary from roytam's folder,
http://roy.orz.hm/lavf-w32-nightlies/
Anima123
1st September 2013, 06:35
Thanks filler56789, the latest build did work.
omarank
1st September 2013, 11:22
Hi Nevcairiel, Could you please add support for I420 video streams from capture device (webcam)?
JarrettH
1st September 2013, 18:44
Quick question, but now that I have a USB DAC and I'm looking for the best setup, I'm wondering what audio renderer LAV uses? WASAPI? Direct Sound? :thanks:
nevcairiel
1st September 2013, 18:55
LAV doesn't "use" any audio renderer, its up to your player to choose one.
JarrettH
1st September 2013, 18:58
Oh alright, I had a feeling I was asking the wrong question. I think AC3filter needs to add a better renderer in the future then :cool:
jkauff
2nd September 2013, 04:02
IMO, the best audio renderer in a video player is JRiver Media Center. It supports both WASAPI and ASIO.
nevcairiel
2nd September 2013, 08:11
If it is the same problem again, then it might not just be another random "corrupted DTS frame" but something the current code doesn't handle correctly?
I was actually wanting to go back to that sample because the behaviour seemed a bit odd. Hopefully i'll find the time now and see whats really going on.
kleen
2nd September 2013, 11:47
May you add support for MKV chapters in i.e. WMP? Sorry in advance if this question was posted/answered earlier.
nevcairiel
2nd September 2013, 11:51
May you add support for MKV chapters in i.e. WMP? Sorry in advance if this question was posted/answered earlier.
I can't force a player to support something that it just doesn't support, and WMP simply does not support chapters.
nevcairiel
2nd September 2013, 14:56
If it is the same problem again, then it might not just be another random "corrupted DTS frame" but something the current code doesn't handle correctly?
OK its fixed properly now. It accidentally found a sync word of a new frame in the middle of the HD data, which caused it to lose bitstream sync for this one frame and process invalid data.
Instead, it'll now parse the size of the HD frame to make sure any valid data is actually skipped over properly.
itsonlyjustincase
2nd September 2013, 16:26
Hi Nev,
Would it be hard and annoying to add HW scaling to lav video decoder ? (it is to avoid any bad resizing issue)
nevcairiel
2nd September 2013, 16:27
its a decoder, not a post-processor. No scaling.
itsonlyjustincase
2nd September 2013, 17:35
Hi would like to pay a developper to do it. But i don't know how much it would coast. I guess it depends on how difficult it is. That's why i asked that question. Could you give me your point of view ?
nevcairiel
2nd September 2013, 17:43
What makes you think hardware scaling is any better? In fact, its going to be worse in many cases. Software Scaling has a 100% defined result, so once it works properly, you will know that it keeps working. Hardware scaling can depend on drivers and on the hardware itself - too many factors to ensure that it keeps working like you want it to.
In any case, LAV will never have such features - paid for or not.
The only thing LAV *might* get at some point is support for external post-processing via VapourSynth, if i one day feel like implementing this, at least.
itsonlyjustincase
2nd September 2013, 17:48
I was discussing with Egur about how some videos i play with my soft have size issue. Some time they are not centered or with bad proportions. This is also happening with ffdshow but can be solved with its fit so screen option. Problem is that ffdshow doesn't have cuvid support that lav has. I've been in touch with the devs of my soft and there not going to do anything for now on their side. So i'm trying to get it to work. Egur adviced me to ask you about hw scaling.
Keiyakusha
2nd September 2013, 18:47
Why you need scaling in LAV filters? Scaling is what renderer does. Pick up madvr and here you go, tons of different kinds of scaling. By using controls in any good player you should be able to fix any kind of "bad proportions". Using players where devs "not going to do anything" even though what you ask is a player's (renderer's) job is not an excuse.
Besides you don't need cuvid to do hardware scaling... maybe cuvid does have some api for it's own scaling but in this case it will be some crap comparable to bicubic at best.
Edit: oh right. In case you mean re-implementing scaling from the ground using cuda, and not using some existing stuff... Since no one ever bothered to do this for *synth's, it rises the question "why?". Perhaps it doesn't worth it... Plus nvidia only? Meh.
sebas_led
2nd September 2013, 20:18
Hi:
A video upscaler, color converter and sample rate converter are the basics directshow filters needed to play *any* file on a BlackMagic and similar cards.
If you have a 640x480 resolution video you can trust on Windows render (or equivalent) to perform a full screen playback, but such file cannot be rendered on a Blackmagic.
wanezhiling
3rd September 2013, 08:22
http://pan.baidu.com/share/link?shareid=2341458498&uk=3558042035
Latest lav splitter (df2da4fec322) doesn't work.
PS: Lav splitter source works, Lav splitter doesn't work..
Mercury_22
3rd September 2013, 08:46
With latest script ffmpeg x86 (clean) won't build but x64 it's ok
nevcairiel
3rd September 2013, 08:50
I just did a build and its fine.
Mercury_22
3rd September 2013, 09:15
I just did a build and its fine.
D:\LAVFilters>call "C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\
Tools\vsvars32.bat"
D:\LAVFilters>sh build_ffmpeg.sh x86
Unknown Option x86
D:\LAVFilters>PAUSE
Press any key to continue . . .
On a new / clean git clone (download)
P.S. VS2012U4 but since x64 it's ok I don't think it matters
nevcairiel
3rd September 2013, 09:27
http://pan.baidu.com/share/link?shareid=2341458498&uk=3558042035
Latest lav splitter (df2da4fec322) doesn't work.
PS: Lav splitter source works, Lav splitter doesn't work..
Fixed
With latest script ffmpeg x86 (clean) won't build but x64 it's ok
Fixed
itsonlyjustincase
3rd September 2013, 11:34
Why you need scaling in LAV filters? Scaling is what renderer does. Pick up madvr and here you go, tons of different kinds of scaling. By using controls in any good player you should be able to fix any kind of "bad proportions". Using players where devs "not going to do anything" even though what you ask is a player's (renderer's) job is not an excuse.
Besides you don't need cuvid to do hardware scaling... maybe cuvid does have some api for it's own scaling but in this case it will be some crap comparable to bicubic at best.
Edit: oh right. In case you mean re-implementing scaling from the ground using cuda, and not using some existing stuff... Since no one ever bothered to do this for *synth's, it rises the question "why?". Perhaps it doesn't worth it... Plus nvidia only? Meh.
Hi. It is cause i'm a dj using a video mixing software. Unfortunatly, this software which is an opengl adaptation of a macos version, doesn't allow to choose multiple codecs. In fact it uses the codec set in windows. It's not like MPC-HC
I'm using only h264/mp4 videos. I use win7dsfiltertweaker to force the use of ffdshow or lav filters depending on what i want to do.
The other point is that as this software processes the video in real-time cause of the fact it is a live video mix one. So it allow to load effect in real-time, accelerate, slow down etc...the result is that it eats lots of ressources. Using it with ffdshow results in 90% CPU and bad FPS.
Hopefully Nev released LAV Filters which permit hardware acceleration. Thanks to it i can use Cuvid. This permit to have 40% CPU and very good FPS (no slow downs in the videos). So i can't use the soft without hardware acceleration.
All my clips are 640x360 H264 ffh264
The thing is that some videos play weird. Like bad aspect ratio or resizing issue. If i use ffdshow there's no problem thanks to the resize option which permit to fit the screen. Unfortunately another problem comes. My soft (Serato Video) doesn't support Intel GPU. Why ? Because before quick sync existed and could offer good performance as it is with sandy and iby bridge, it wasn't enough powerful to make the software work correctly. So to avoid people having problems they removed Intel GPU support and never put it back. I tried many times to explain them how quicksync is powerful and is becoming a standard nowadays on laptop with Intel environnement but they keep seeing intel as crap for video purposes without even testing it.
That is why i can only use my Nvidia GPU (i have asus ux32vd) and lav filters with cuvid. That is why my only solution to have everything working perfectly is to have the resizing fix in lav video decoder.
I'm french so please forgive the faults this answer could contain.
clsid
3rd September 2013, 16:04
Remux the files that play wrong and set the correct aspect ratio in the container. Problem solved.
itsonlyjustincase
3rd September 2013, 16:10
Remux the files that play wrong and set the correct aspect ratio in the container. Problem solved.
What do you mean by "set the correct aspect ratio in the container" ? The problem is random and i as i'm dj it's not about 2 or 3 files but more like 300 or 400......
clsid
3rd September 2013, 16:17
AVI, MP4, Matroska are all container formats. A wrapper for the audio and video. LAV Video decoder uses the aspect ratio set in those containers by default instead of the aspect ratio in the video bitstream. There is an option for changing that behavior.
Maybe you should post a sample file here that gives you problems. Then we can tell you if there is something wrong with the file or not.
wanezhiling
3rd September 2013, 16:26
Fixed
:thanks:
Now lav splitter works, but still has a bad playback for this m2ts file compared to mpc-be.
itsonlyjustincase
3rd September 2013, 17:13
AVI, MP4, Matroska are all container formats. A wrapper for the audio and video. LAV Video decoder uses the aspect ratio set in those containers by default instead of the aspect ratio in the video bitstream. There is an option for changing that behavior.
Maybe you should post a sample file here that gives you problems. Then we can tell you if there is something wrong with the file or not.
I understand. But how the aspect ratio in the video bitstream could vary knowing all the videos are encoded with the same profile ? Why a file could work one time and not another one. I know the serato video software is responsible for that that is why i assure you the only solution is the resize fix. I have almost 600 H264/640x360/MP4 videos
Keiyakusha
3rd September 2013, 17:27
I understand. But how the aspect ratio in the video bitstream could vary knowing all the videos are encoded with the same profile ? Why a file could work one time and not another one. I know the serato video software is responsible for that that is why i assure you the only solution is the resize fix. I have almost 600 H264/640x360/MP4 videos
clsid is right. Post a video that clearly demonstrates your problem. Then maybe someone will be able to suggest some solution. Personally I don't even understand how being "dj" makes you deal with video, and what kind of material could that be. Also tell what exactly you use to play your video (or whatever you do with it).
Libeluratio
3rd September 2013, 17:35
Hi everyboy, (sorry for my english)
I'm looking for a way to decode dts-hd with lav audio, but not the "simple" dts, I need this one to be send to ffdshow audio and decoded with it. Is that possible ? if yes, how to do this, and if no, please why ?
I need this because, because of my hardware setup (I think), I need different audio delays between dts, ac3, true-hd, and dts-hd tracks (all delays are differents depending on the audio codec). So I'd like to use ffdshow audio presets settings to manage my dts, ac3, and true-hd delays but, since it can't decode dts-hd unlike lav audio, I need this one to handle dts-hd only and no dts.
I'm not sure I'm very clear ?
Thanks !!
itsonlyjustincase
3rd September 2013, 17:54
clsid is right. Post a video that clearly demonstrates your problem. Then maybe someone will be able to suggest some solution. Personally I don't even understand how being "dj" makes you deal with video, and what kind of material could that be. Also tell what exactly you use to play your video (or whatever you do with it).
Hi Keiyahusha,
here is a video i remember i have already had problem with :
https://truck.it/p/BCqnnYnjVX
i have just uploaded it.
An example of what i sometime get is that image i found on the net :
http://imageshack.us/photo/my-images/21/3zjf.jpg/
It is not correctly centered in the output display. As you can see the image is too much in the upper part.
There is a Color Handling option in the software. If i change change it from "software" to "RGB" or vice and versa sometimes it works (i know it is weird)
Regarding the fact i'm dj it is just to explain the context. I think you have already gone in a night club or bar when someone was mixing audio songs. Nowadays (and since a moment) djs can also mix video clips. So it is the same of what you've already heard. Now you can also "see". What the software looks like is that :
http://www.youtube.com/watch?v=vy7R1jsauAM
Software used is Serato Video :
http://serato.com/video
Nowadays the artists make nice video clips for their songs so instead of mixing just the audio we mix directly the video clips. It is called VJ (video jockey) instead of DJ
Some as i said before i use Serato Video on my Asus ux32vd win8 64bits with i7 and nvidia geforce gt 620m. All videos H264/MP4/640x360
Hope it is a bit more clear
nevcairiel
3rd September 2013, 18:43
:thanks:
Now lav splitter works, but still has a bad playback for this m2ts file compared to mpc-be.
The AC3 audio stream seems to be corrupted, or ffmpegs AC3 decoder has a bug, but it switches between 48000 Hz and 11025 Hz frequently, which causes the glitchy playback.
Mangix
3rd September 2013, 19:56
Feature Request: Add TAK chapter support to LAV Splitter. Basically, I encode my albums as a single file with an embedded cuesheet that splits the tracks accordingly.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.