Log in

View Full Version : LAV Filters - DirectShow Media Splitter and Decoders


Pages : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 [309] 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511

nevcairiel
20th June 2013, 08:27
Quite possibly i used 0x3f because Windows 7 can generally deal with both just fine, but XP had some occasional issues with 0x60f (0x3f was still the preferred mode in XP), honestly i don't remember anymore why i choose to do it like this. There haven't been any issues really. Even if LAV would change to 0x60f, or even better, change to output the value in the file untouched, you will still need to handle 0x3f.

Thunderbolt8
20th June 2013, 16:52
got some problem with getting LAV splitter to work with some kind of file types.

got .flv files from twitch.tv which I can open just fine with the splitter.

Video
Format : AVC
Format/Info : Advanced Video Codec
Format_Profile : Main@L3.1
Format_Settings_CABAC/String : Yes
Format_Settings_RefFrames/String : 1 frame
CodecID : 7
Duration/String : 22mn 10s
BitRate_Mode/String : Variable
BitRate/String : 1 947 Kbps
BitRate_Maximum/String : 2 011 Kbps
Width/String : 1 280 pixels
Height/String : 720 pixels
DisplayAspectRatio/String : 16:9
FrameRate_Mode/String : Constant
FrameRate/String : 30.000 fps
Standard : NTSC
ColorSpace : YUV
ChromaSubsampling : 4:2:0
BitDepth/String : 8 bits
ScanType/String : Progressive
Bits-(Pixel*Frame) : 0.070
StreamSize/String : 317 MiB (95%)

Audio
Format : AAC
Format/Info : Advanced Audio Codec
Format_Profile : HE-AAC / LC
CodecID : 10
Duration/String : 22mn 10s
BitRate/String : 92.7 Kbps
Channel(s)/String : 2 channels
ChannelPositions : Front: L R
SamplingRate/String : 44.1 KHz / 22.05 KHz
Compression_Mode/String : Lossy
Video_Delay/String : 10ms
StreamSize/String : 15.4 MiB (5%)


but when I remux some of these files to .mkv (by joining some parts via append), then I cannot open the .mkv file with lav splitter alone any more and need to have "file source (async)" running as well as external filter in mpc-hc. when I block file source then I get the message that the file cannot be rendered.

stats for the .mkv file dont seem to be too different:

Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : Main@L3.1
Format settings, CABAC : Yes
Format settings, ReFrames : 1 frame
Codec ID : V_MPEG4/ISO/AVC
Duration : 4h 52mn
Bit rate mode : Variable
Maximum bit rate : 2 011 Kbps
Width : 1 280 pixels
Height : 720 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 30.000 fps
Standard : NTSC
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Default : Yes
Forced : No

Audio
ID : 2
Format : AAC
Format/Info : Advanced Audio Codec
Format profile : HE-AAC / LC
Codec ID : A_AAC
Duration : 4h 52mn
Channel(s) : 2 channels
Channel positions : Front: L R
Sampling rate : 44.1 KHz / 22.05 KHz
Compression mode : Lossy
Delay relative to video : 46ms
Default : Yes
Forced : No

so why is this?

nevcairiel
20th June 2013, 16:58
Probably because you installed something after LAV which destroyed the registry entry. Run the LAV installer again.

Note that the other way isn't really any worse.

Reino
20th June 2013, 23:08
1. add support for chapters(cuesheets) in ape/flac/wv?Please add TAK to that and maybe there are more lossless audioformats that have support for cuesheets.

For those interested: the initial cuesheet support request in MPC-HC (https://trac.mpc-hc.org/ticket/1673)
After 22 months still no support in MPC-HC, while MPC-BE has added support for cuesheets for their FLAC- and WavPack source filter some time ago already.
I've also got it on my wishlist for DC-Bass Source Mod, but I don't have the know-how and I can't find people who do :(.

P.s. Nev, good job on the support for Matroska xml-chapters. Unlike MPC-HC/BE (https://trac.mpc-hc.org/ticket/1673#comment:8), they look exactly the same as ogm-chapters with LAV Splitter.

Aleksoid1978
21st June 2013, 00:47
Hi Nevcairiel

Can you modify LAV Splitter, that it for .aiff format return "normal" MediaType for audio output. Now it for int24be(AV_CODEC_ID_PCM_S24BE)/int32be(AV_CODEC_ID_PCM_S32BE) return:

subtype: Unknown GUID Name {00000000-0000-0010-8000-00AA00389B71}
wFormatTag: 0x0000


And no any external Audio Decoder can't connect, only LAV Audio + WAVEFORMATEXFFMPEG.

Modify subtype:
AV_CODEC_ID_PCM_S24BE = MEDIASUBTYPE_PCM_IN24
AV_CODEC_ID_PCM_S32BE = MEDIASUBTYPE_PCM_IN32

Thunderbolt8
21st June 2013, 08:24
Probably because you installed something after LAV which destroyed the registry entry. Run the LAV installer again.

Note that the other way isn't really any worse.yep, that was it. I installed a bunch of other stuff after LAV filters, also the haali media splitter among other things. wasnt there said to be a problem with that when installing haali afterwards?

nevcairiel
21st June 2013, 13:16
Can you modify LAV Splitter, that it for .aiff format return "normal" MediaType for audio output. Now it for int24be(AV_CODEC_ID_PCM_S24BE)/int32be(AV_CODEC_ID_PCM_S32BE) return:

What about int16be?

Aleksoid1978
21st June 2013, 13:30
What about int16be?

I think yes - but i do not have such .aiff files.

Aegwyn11
21st June 2013, 21:57
@nevcairiel

When are you planning on a next release?

How much trouble would it be to build the next version of LAV filters based on current (today) FFmpeg code?

I'm asking because there was a regression introduced in FFmpeg around UTvideo decoding that just got fixed, and as a result LAV Filters after 0.55.3 has a broken UTvideo decoder.

Details on the FFmpeg bug here:
https://ffmpeg.org/trac/ffmpeg/ticket/2661

nevcairiel
22nd June 2013, 06:45
The latest version of LAV already includes this ffmpeg fix.
I always try to keep it fairly up to date, as long as there aren't any big changes shortly before my release which would require more extensive testing.

nevcairiel
22nd June 2013, 08:09
I think yes - but i do not have such .aiff files.

Done.
16-bit uses the TWOS subtype.

Aleksoid1978
22nd June 2013, 09:18
Done.
16-bit uses the TWOS subtype.

Thanks.

Octo-puss
22nd June 2013, 11:59
Is LAV supposed to decode XviD? I thought it was, but I can't get Sony Vegas to open such video at all. Only after downloading the codec from their site it started to work.

VipZ
22nd June 2013, 12:05
I found a very odd bug, i happened to drag the MPC-BE exe file onto itself and it played with LAV Splitter, not that it sounded any good :)

Any chance you could block this from occurring.

nevcairiel
22nd June 2013, 12:52
Not really, its a feature that it tries to detect media in all files, and this can in some cases lead to false positives i suppose.
Could limit it to exlcude files probeb with a very low score i suppose, but not that much gained from that.

VipZ
22nd June 2013, 13:03
No problem, guess one would normally not try play an exe :p

Aegwyn11
22nd June 2013, 14:35
The latest version of LAV already includes this ffmpeg fix.
I always try to keep it fairly up to date, as long as there aren't any big changes shortly before my release which would require more extensive testing.

I don't understand.... The latest version shown is 0.57 and definitely has this problem. The issue was only fixed in ffmpeg a couple of days ago.

nevcairiel
22nd June 2013, 14:37
The latest version is not the latest release. :P

Warlock
22nd June 2013, 14:41
Guys, I know the question is silly, but I need to solve this question: In output formats, 8 bits, which option is the best: NV12 or YV12? Some people say that YV12 is best for 8 bits, is this true?

wanezhiling
22nd June 2013, 15:01
@Warlock
http://forum.doom9.org/showpost.php?p=1574634&postcount=6
http://forum.doom9.org/showpost.php?p=1600852&postcount=15088

Warlock
22nd June 2013, 15:06
@Warlock
http://forum.doom9.org/showpost.php?p=1574634&postcount=6
http://forum.doom9.org/showpost.php?p=1600852&postcount=15088

Thanks, my question was completely solved.

Mercury_22
22nd June 2013, 16:17
How to use the new RTMP ?
Something like rtmp://npsaflivefs.fplive.net:1935/npsaflive-live/stream50 it's working fine with LAV in MPC-BE BUT how do I play this rtmp://62.115.64.212/live?_fcs_vhost=cp116697.live.edgefcs.net playpath=BnazlkNDpCIcD-QkfyZCQKlRiiFnVa5I_640_360_1000@18679 pageUrl=http://www.bloomberg.com/tv/ app=live?_fcs_vhost=cp116697.live.edgefcs.net swfUrl=http://player.ooyala.com/static/cacheable/6086bd175c4cf1d14cbd4c9aa54d019d/player_v2.swf/[[DYNAMIC]]/3 swfVfy=true live=true timeout=60which is playing OK in XBMC as a strm file

nevcairiel
22nd June 2013, 16:18
There is no rtmp support in LAV, and even if someone enables it in the ffmpeg build, there is no official support for it, so you figure it out.

So if anyone wants to write a parser for such URLs and pass all the appropriate settings to ffmpeg, then i can add it. :p

zerowalker
22nd June 2013, 16:38
Will VP9 be added?
As if i am correct, the bitstream is frozen, making a decoder that works now, works forever.

Mercury_22
22nd June 2013, 16:45
There is no rtmp support in LAV, and even if someone enables it in the ffmpeg build, there is no official support for it, so you figure it out.

So if anyone wants to write a parser for such URLs and pass all the appropriate settings to ffmpeg, then i can add it. :p

Looks like "Someone":rolleyes: has remove it now :( It was in the git earlier today

clsid
22nd June 2013, 16:49
Edit: it seems that FFmpeg is not able to parse the parameters given after the rtmp:// URL. The calling app need to parse them and pass them to the demuxer as options (see rtmpproto.c).

nevcairiel
22nd June 2013, 17:27
Looks like "Someone":rolleyes: has remove it now :( It was in the git earlier today

I accidentally pushed a test branch, it was up for maybe 5 minutes or so, and if you had read the commit message that came with it, it would've explained that anyone testing this is on their own. :p

kasper93
22nd June 2013, 21:19
@clsid @Mercury_22

LAV doesn't support rtmp so it's pointless to discuss how to pass additional parameters. RTMP support can be easily enabled by changing ffmpeg build script, but this only support simple streams. Basically only those which can be described by singe link
rtmp://server[:port][/app][/instance][/playpath]

ryrynz
23rd June 2013, 11:19
Has anyone else experienced random glitches with what I assume is avcodec decoding? Sometimes I'll have a small square patch that displays properly while the rest of the video freezes.
It happens on both my PCs, if you rewind and replay that particular sequence there is no problems, completely random.

dukey
23rd June 2013, 14:25
nevcairiel, does lav correctly set the average time per frame on dynamic format change ?
http://i.imgur.com/87xfqHu.png

nevcairiel
23rd June 2013, 14:26
You should never really rely on that value, its notoriously inaccurate.
But sure, when the source sends a new time, it should end up at LAVs output as well. Unless of course its one of those cases where LAV decides to override it with a bitstream value.

dukey
23rd June 2013, 14:30
It seems not to propagate the value, and if it has overridden it, then it's done so incorrectly I think.

nevcairiel
23rd June 2013, 14:31
Like i said, simply don't rely on it, its unreliable.

dukey
23rd June 2013, 14:33
I need it to properly create a dxva type, otherwise I have to guess some default rate

nevcairiel
23rd June 2013, 15:04
LAV Filters 0.58

General
- LAV Filters now includes a manifest file to control DLL loading
- Fixed the shortcuts to the configuration dialogs created by the installer in the start menu

LAV Splitter
- Handle the "Default" flag in MKV files with multiple video streams
- Fixed a regression in VC-1 demuxing which caused some streams to fail decoding with the WMV9 DMO decoder
- Improved transition between ordered chapters in certain (badly formed) MKV files
- Improved handling of AVC1 in AVI files
- Improved accuracy of IAMStreamSelect::get_CurrentMarker
- Several potential crash fixes and stability improvements

LAV Video
- YADIF deinterlacing is now multi-threaded, significant performance improvement on multi-core CPUs
- Improved detection of progressive streams to ensure deinterlacing is disabled, especially when "Aggressive Deinterlacing" is used
- Restored Fraps constant frame rate output by proper handling of repeated frames
- Support for the new UtVideo sub-types, and fixed a regression in UtVideo decoding
- cuvid: fix double-rate deinterlacing on certain streams without timing information
- Updated the Intel QuickSync Decoder to 0.44


Download: Installer (both x86/x64) (http://files.1f0.de/lavf/LAVFilters-0.58.exe) -- Zips: 32-bit (http://files.1f0.de/lavf/LAVFilters-0.58.zip) & 64-bit (http://files.1f0.de/lavf/LAVFilters-0.58-x64.zip)

This message has been reduced in length due to heat.

Standard disclaimer applies, report regressions/issues, include samples, because without reproducing a bug, no fixing a bug.

So, take care, and enjoy the summer while it lasts - well, if the summer reached you yet.

Qaq
23rd June 2013, 15:44
Thanks for the new version.
And yes, its hot on Baltic sea these days.

DragonQ
23rd June 2013, 16:50
Heh, I'm wearing a jumper indoors!

Thanks for the new release. Would you care to expand a bit on the "Improved detection of progressive streams to ensure deinterlacing is disabled, especially when "Aggressive Deinterlacing" is used" fix?

nevcairiel
23rd June 2013, 17:18
It does what it says, it improves the detection of 100% progressive streams to ensure deinterlacing is turned off.
Previously it would rely on the media type information for this, but when watching Live TV for example, there typically is no such information available, and it could deinterlace some progressive broadcasts which didn't need it - and even cause some issues when double-rate deinterlacing a stream which already was 59.94 progressive (as i'm told some ATSC broadcasts in the US are)

DragonQ
23rd June 2013, 17:42
I see. I assume it's not based on looking at the actual frame images though?

nevcairiel
23rd June 2013, 17:44
No. Just the info in the bitstream.

Keiyakusha
23rd June 2013, 18:20
- Handle the "Default" flag in MKV files with multiple video streams
- Improved transition between ordered chapters in certain (badly formed) MKV files
Thanks! Exactly what I needed... though this means one of my milti-edition files is "badly formed". This is what I thought but couldn't figure out how to fix it. >__<

nevcairiel
23rd June 2013, 18:23
"badly formed" in this case just means that the chapter does not *exactly* match a Cue point, however if the new version fixed it, then there is a cue point very close by at least, so the chapter work was just "sloppy" (ie. a few milliseconds off target)

cyberbeing
23rd June 2013, 22:05
There seems to be a LAV Splitter regression regarding MKV Segment Linking which was introduced between LAVFilters-0.55.3-73-g3f9ce87 and LAVFilters-0.56.1.

LAVFilters-0.55.3-73-g3f9ce87 (working) <- LAVFilter test builds inbetween (crash) -> LAVFilters-0.56 (crash) -> LAVFilters-0.56.1 (issue) -> LAVFilters-0.58.0 (issue)

I'll PM you a sample.

nevcairiel
23rd June 2013, 22:09
Its not a regression if it never worked in a release. :D

pOpY
24th June 2013, 13:18
Dear nev.

v0.58 doesnt solve my issue.
I have updated Issue 353 on bugtracker.

https://code.google.com/p/lavfilters/issues/detail?id=353

Ill think now you should be able to easily reproduce the problem.

thx
pOpY

pOpY
24th June 2013, 15:34
Also i had to edit build_ffmpeg.sh line 21-23 from.

strip_libs() {
x86_64-w64-mingw32-strip lib*/*-lav-*.dll
}

to

strip_libs() {
strip lib*/*-lav-*.dll
}

to work with my MinGW.

nevcairiel
24th June 2013, 16:03
Thats because your mingw is incomplete. :)

pOpY
24th June 2013, 16:11
hmm, thats not good :(
could you please provide me your MINGW directory or pint me in the right direction :o

Ill have used this one: http://nuwen.net/mingw.html
with all components and msys.

thx
pOpY

nevcairiel
24th June 2013, 16:19
Thats apparently the "old" mingw32, while around here we switched to mingw-w64 a long time ago.
Its curious though, GCC 4.8.1 shouldn't even build with the old mingw, but hey, what can you do.

My mingw-w64 based toolchain is always available here (without MSYS, you still need that from somewhere else):
http://files.1f0.de/mingw/

Edit:
The mingw-w64 project has a complete MSYS package which should work:
http://sourceforge.net/apps/trac/mingw-w64/wiki/MSYS

Unzip MSYS, and then put my mingw-w64 toolchain into MSYS\mingw
To build ffmpeg you'll need some additional tools like YASM, though.

kasper93
24th June 2013, 16:45
You can also grab XhmikosR's package http://xhmikosr.1f0.de/tools/