Log in

View Full Version : FFmpegSource


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

manolito
24th November 2020, 02:15
Thanks for this new ffms2 version... :thanks:

I can confirm that the seek errors with VP9 sources are fixed.

kedautinh12
24th November 2020, 04:22
Use Kainote Beta, this has a dll from StvG
https://github.com/bjakja/Kainote

thanks

kedautinh12
24th November 2020, 04:25
ffms2 (https://cloud.owncube.com/s/g35T64mo6SNQBpF):
- ffmpeg n4.4@9208b72a38;
- zlib 1.2.11;
- dav1d 0.7.1;
- changed the default threads number:
* VP9 - min(CPU logical processors, 8);
* AV1 - 1 when CPU logical processors = 1, otherwise 2;
* rest - CPU logical processors;
- MPEG2 streams in mkv container should be ok now.

thanks

44vince44
24th November 2020, 14:35
thanks StvG !

StainlessS
25th November 2020, 03:56
Yes indeed, merci StvG.

wonkey_monkey
8th December 2020, 21:29
Does anyone know if there any known problems with crackling audio with ffmpegsource? I made a screen recording which plays fine in VirtualDub and MPC-HC, but loading it via AviSynth with atrack=1 results in crackly audio. Audio codec is AAC.

real.finder
9th December 2020, 00:46
Does anyone know if there any known problems with crackling audio with ffmpegsource? I made a screen recording which plays fine in VirtualDub and MPC-HC, but loading it via AviSynth with atrack=1 results in crackly audio. Audio codec is AAC.

is it ok with https://forum.doom9.org/showthread.php?t=177337 or LSMASHSource?

Myrsloik
9th December 2020, 01:21
Does anyone know if there any known problems with crackling audio with ffmpegsource? I made a screen recording which plays fine in VirtualDub and MPC-HC, but loading it via AviSynth with atrack=1 results in crackly audio. Audio codec is AAC.

Lots of audio issues are known.

poisondeathray
10th April 2021, 22:29
Is it possible for ffms2 to support float read/import?

ffmpeg has had float support for a while; for example you can read/write EXR as "gbrpf32le" (or with alpha "gbrapf32le")

But avs+ supports "RGBPS" (or with alpha "RGBAPS ")

Or is there something preventing ffms2 from navigating this pixel format ?

kedautinh12
22nd May 2021, 10:59
New issue here:
https://forum.doom9.org/showthread.php?p=1943303

FranceBB
21st July 2021, 21:08
One of my colleagues reported that when Indexing a WAV which is larger than 2 GB, the audio is silent from a certain point onward even if he's using the x64 build for Avisynth.
I wonder if rf64 (which would be the extension needed to come around the original wav size limit) has been implemented in FFAudioSource().
Anyway, ffmpeg seems to support wav's bigger than 2 GB, even when the rf64 extension is not used in the source file, in fact in FFMpeg decoding works fine.
Here is a way to quickly create a test wav file to reproduce the problem:

ffmpeg -f lavfi -i "sine=frequency=1000:sample_rate=48000:duration=3600" -f lavfi -i "sine=frequency=2000:sample_rate=48000:duration=3600" -f lavfi -i "sine=frequency=3000:sample_rate=48000:duration=3600" -f lavfi -i "sine=frequency=4000:sample_rate=48000:duration=3600" -f lavfi -i "sine=frequency=5000:sample_rate=48000:duration=3600" -f lavfi -i "sine=frequency=6000:sample_rate=48000:duration=3600" -f lavfi -i "sine=frequency=7000:sample_rate=48000:duration=3600" -f lavfi -i "sine=frequency=8000:sample_rate=48000:duration=3600" -filter_complex amerge=inputs=8 c:\temp\out.wav

Indexing it with FFAudioSource() causes the problem.

The problem doesn't occur with WAVSource().

The issue has been reported in the bug tracker here: https://github.com/FFMS/ffms2/issues/389

tebasuna51
21st July 2021, 23:41
Does not make sense index a pcm samples wav, to locate a sample in a file you only need know the number of bytes per sample (in the header) and multiply.
The size of a index to all samples can be bigger than the WAV file.
Of course WavSource don't have this problem because don't make index.

BTW you can use RaWavSource from NicAudio to support WAV files bigger than 4 GB, and also RF64 or W64

FranceBB
22nd July 2021, 11:30
Of course I can use NicAudio(), but the thing is that one of my colleagues used FFAudioSource() by mistake and found the issue so he reported it to me and I was like: first of all, demux with FFMpeg and use WAVSource(), second of all, thank you for letting me know, I might as well just report it to the FFAudioSource () developers to get it fixed, so here I am.

Myrsloik
22nd July 2021, 12:17
Of course I can use NicAudio(), but the thing is that one of my colleagues used FFAudioSource() by mistake and found the issue so he reported it to me and I was like: first of all, demux with FFMpeg and use WAVSource(), second of all, thank you for letting me know, I might as well just report it to the FFAudioSource () developers to get it fixed, so here I am.

I made BestAudioSource so I'd never have to look into audio bug reports for FFMS2 ever again. True story.

kedautinh12
10th August 2021, 10:53
DNX120 fixed in L-SMASH Works, need fix in ffms2. Thanks
https://forum.doom9.org/showthread.php?p=1949542#post1949542

StvG
14th August 2021, 18:57
ffms2_1c6169a (https://ppp.woelkli.com/s/bx8zFHStJT9aCqs) (pass: tTnkia1ToVkw):
- ffms2@4567314;
- ffmpeg 4.4@1bc1757 (https://github.com/HomeOfAviSynthPlusEvolution/FFmpeg/tree/custom-patches-for-lsmashsource);
- zlib 1.2.11;
- dav1d 0.9.1;
- added FFAudioSource/FFMS2/FFmpegSource2 parameter "drc_scale" (float type, AC3 decoding).

FranceBB
15th August 2021, 10:02
Uh, new build, sweet, thanks. :)

filler56789
15th August 2021, 11:55
ffms2_1c6169a (https://ppp.woelkli.com/s/bx8zFHStJT9aCqs) (pass: tTnkia1ToVkw):
- ffms2@4567314;
- ffmpeg 4.4@1bc1757 (https://github.com/HomeOfAviSynthPlusEvolution/FFmpeg/tree/custom-patches-for-lsmashsource);
- zlib 1.2.11;
- dav1d 0.9.1;
- added FFAudioSource/FFMS2/FFmpegSource2 parameter "drc_scale" (float type, AC3 decoding).

:goodpost: and :thanks:

Myrsloik
17th August 2021, 19:52
A somewhat untested build with a pile of changes. This should slay most of your poor quality forks.

- 2.3000
- Added support for VapourSynth API4 (Myrsloik)
- Added basic Avisynth+ frame property support (Myrsloik)
- Added Rotation and Flip properties for VapourSynth (Myrsloik)
- Added long path support for ffmsindex in windows (Myrsloik)
- The audio gap fill logic is now optional and usually disabled by default (Myrsloik)
- Allow the drc_scale option to be set when decoding audio (Myrsloik)
- Allow the enable_drefs and use_absolute_path demuxer options to be used when indexing (Myrsloik)

FFMS3000 test1 (https://www.dropbox.com/s/1u8r4ia5phatjgx/ffms3000-test1.7z?dl=1)

videoh
17th August 2021, 22:22
@Myrsloik

If I want to support your API4 with DGDecodeNV, will I need to maintain two versions, one for API3 and one for API4? Thank you.

Myrsloik
17th August 2021, 22:50
@Myrsloik

If I want to support your API4 with DGDecodeNV, will I need to maintain two versions, one for API3 and one for API4? Thank you.

It's fairly easy to support both. See the FFMS2 source for an example. I'll probably improve the nfMakeLinear handling a bit before the final release so less things will be horribly slow as well.

videoh
17th August 2021, 22:56
Thank you, I will have a look.

videoh
18th August 2021, 00:37
So, does Vapoursynth try the new API with VapourSynthPluginInit2() and if it fails tries again with VapourSynthPluginInit()?

The diff between vapoursource.cpp and vapoursource4.cpp is quite extensive and scares me a bit. Is there a comprehensive guide to things that need to be changed to use API4? Thank you.

Myrsloik
18th August 2021, 09:32
So, does Vapoursynth try the new API with VapourSynthPluginInit2() and if it fails tries again with VapourSynthPluginInit()?

The diff between vapoursource.cpp and vapoursource4.cpp is quite extensive and scares me a bit. Is there a comprehensive guide to things that need to be changed to use API4? Thank you.

A mostly complete summary can be found here:

https://github.com/vapoursynth/vapoursynth/blob/doodle1/APIV4%20changes.txt

Note that a lot of changes are mostly renaming.

longwin
22nd August 2021, 15:26
ffms2_1c6169a (https://ppp.woelkli.com/s/bx8zFHStJT9aCqs) (pass: tTnkia1ToVkw):
- ffms2@4567314;
- ffmpeg 4.4@1bc1757 (https://github.com/HomeOfAviSynthPlusEvolution/FFmpeg/tree/custom-patches-for-lsmashsource);
- zlib 1.2.11;
- dav1d 0.9.1;
- added FFAudioSource/FFMS2/FFmpegSource2 parameter "drc_scale" (float type, AC3 decoding).

Thank you for your build.

gale
23rd October 2021, 16:19
Video encoded in vc1. With FFVideoSource the number of frames is one more than with eac3to.

FranceBB
10th November 2021, 14:48
Opened a new bug about a ZLog2 HDR H.265 UHD file (yes, there's more than just PQ and HLG in the world ehehehe): https://github.com/FFMS/ffms2/issues/395

poisondeathray
10th November 2021, 15:52
Opened a new bug about a ZLog2 HDR H.265 UHD file (yes, there's more than just PQ and HLG in the world ehehehe): https://github.com/FFMS/ffms2/issues/395

What versions ? Works ok for me.

avs+ r3482 x64

ffms2_StvG_1c6169a_20210814 (this is the one a few posts above) x64

L-SMASH-Works-20210811 x64
https://github.com/HomeOfAviSynthPlusEvolution/L-SMASH-Works/releases

I didn't test actual encode, but ran through ffmpeg rawvideo, so it goes through each frame, and completes
ffmpeg -i ffms2.avs -c:v rawvideo -an -f null NUL

Preview of ffms2 and lsmash scripts in avspmod looks ok, seeking to random frames


Simple AVS Script 2:

LWLibavVideoSource("T:\_RUBRICHE\MASSIMO\A002C0023_20211019172852_0001.MOV")

Expected behavior:

The file is supposed to be indexed correctly with the whole 3 minutes.

My lsmash index completed (yours apparently did not) , looks ok seeking in avspmod

FranceBB
18th January 2022, 20:55
FFMpeg 5 has been released and it supports IMF decoding by feeding it the cpl file.
Is it gonna be available for FFMpegSource2() too?

Myrsloik
18th January 2022, 22:00
FFMpeg 5 has been released and it supports IMF decoding by feeding it the cpl file.
Is it gonna be available for FFMpegSource2() too?

No idea. Depends on whether or not the current index method can be adapted. Also time. I have no time.

kedautinh12
19th January 2022, 00:12
Waiting for StvG ver :D

LigH
20th January 2022, 08:53
Don't ask which version VirtualDub2 still uses...

Matias
9th April 2022, 20:56
Kainote Beta have newest ffms2 based on ffmpeg 5.0
https://github.com/bjakja/Kainote (link in the description)

kedautinh12
9th April 2022, 22:04
Glad to see he comeback after long time against with diseased :D

FranceBB
9th April 2022, 22:06
I'll wait for the official ffms2 stable release, I'm not in the mood of testing things out right now, but thanks for the heads up.
Speaking of ffmpeg 5.0, I'm gonna quote myself from the LWLibav thread: (https://forum.doom9.org/showthread.php?p=1967162#post1967162)

I have a question, or rather a feature request: when an .xml is given to the indexer like LWLibavVideoSource("CPL.xml") and LWLibavAudioSource("CPL.xml") please try to use the IMF decoder built into FFMpeg rather than return an error.
That would be really cool as this way we're gonna have IMF support inside Avisynth!

the same applies for FFVideoSource("CPL.xml") and FFAudioSource("CPL.xml") and of course FFMpegSource2("CPL.xml", atrack=-1).

OrangeColaJuice
11th April 2022, 18:54
Kainote Beta have newest ffms2 based on ffmpeg 5.0
https://github.com/bjakja/Kainote (link in the description)

Gives error in avisynth.
>no function

LigH
12th April 2022, 07:26
More details please. Which function exactly is not found? Searching for common strings, it contains e.g. AvisynthPluginInit3 and FFVideoSource/FFAudioSource.

OrangeColaJuice
12th April 2022, 16:34
More details please. Which function exactly is not found? Searching for common strings, it contains e.g. AvisynthPluginInit3 and FFVideoSource/FFAudioSource.
It could be 32 bits and I haven't tested that.
I just replaced my old .dll with the one from the beta software and nothing works, no matter what variation of the name or known abbreviation of the function I try.

LigH
13th April 2022, 07:50
Then please call AVSMeter (https://forum.doom9.org/showthread.php?t=174797) -avsinfo -l -lf in a console and search for errors and supported "ffms2_..." functions in the generated avsinfo_x86.log; it might be possible, though, that most recent versions of plugins (incl. FFMS2) require AviSynth+ and don't really work anymore with legacy AviSynth versions...

OrangeColaJuice
14th April 2022, 09:26
Then please call AVSMeter (https://forum.doom9.org/showthread.php?t=174797) -avsinfo -l -lf

Turns out it is a 64 bit dll so I've reinstalled the 64 bit AviSynth, pic related.
https://files.catbox.moe/0cs5pg.png

more:
https://files.catbox.moe/kfeb6z.png

StvG
15th April 2022, 01:02
ffms2_6ad7738 (https://ppp.woelkli.com/s/NMk6MyD6LZR7nYH) (pass: u7Uezbh3fTHM):
- ffms2@90975ec;
- ffmpeg n5.1@1764a6887b;
- zlib 1.2.12;
- dav1d 1.0.0;
- AviSynth: set Dolby Vision RPU data in frame props.

FranceBB
15th April 2022, 08:21
ffms2_6ad7738 (https://ppp.woelkli.com/s/NMk6MyD6LZR7nYH) (pass: u7Uezbh3fTHM):
- ffms2@90975ec;
- ffmpeg n5.1@1764a6887b;
- zlib 1.2.12;
- dav1d 1.0.0;
- AviSynth: set Dolby Vision RPU data in frame props.

Thanks for the new build! Works like a charm :)

Matias
15th April 2022, 09:23
Turns out it is a 64 bit dll so I've reinstalled the 64 bit AviSynth, pic related.
https://files.catbox.moe/0cs5pg.png

more:
https://files.catbox.moe/kfeb6z.png

Yeah you right it's something weird with this ffms2, works well with aegisub but not with avisynth+

StainlessS
15th April 2022, 15:15
Yeah you right it's something weird with this ffms2, works well with aegisub but not with avisynth+

32 bit avisynth requires 32 bit dll's, 64 bit requires 64 bit dll's,
nothing weird there.

Matias
15th April 2022, 15:41
32 bit avisynth requires 32 bit dll's, 64 bit requires 64 bit dll's,
nothing weird there.

I installed a 64-bit version of Avisynth+ and 64-bit StvG version work well but ffms2 from Kainote beta not working with avisynth+
StvG version not working with Kainote Beta 0.9.9.1436 but working with AegisubDC

LigH
15th April 2022, 17:15
If Kainote is a 32 bit application, then it will use only a 32 bit AviSynth (no matter whether legacy AviSynth 2.60 or AviSynth+ 3.x), which loads only 32 bit plugins subsequently.

Some people only build a 64 bit version of plugins because most people use AviSynth+ in 64 bit with 64 bit video encoders, the need for 32 bit AviSynth plugins may decrease because there are not many applications anymore which only exist in 32 bit. Kainote appears to be such a rare case?

Matias
15th April 2022, 19:46
If Kainote is a 32 bit application, then it will use only a 32 bit AviSynth (no matter whether legacy AviSynth 2.60 or AviSynth+ 3.x), which loads only 32 bit plugins subsequently.

Some people only build a 64 bit version of plugins because most people use AviSynth+ in 64 bit with 64 bit video encoders, the need for 32 bit AviSynth plugins may decrease because there are not many applications anymore which only exist in 32 bit. Kainote appears to be such a rare case?

Kainote stable have 32 and 64 bit version (stvg ffms2 work with stable version), beta have only 64 bit version, I think it's something changed in program (error is talk about missing FFMS_FreeChapters in stvg ffms2), but it's not important, program is usable with bulid in ffms2
I only tested avisynth+ becouse @OrangeColaJuice had problem with ffms2 from Kainote Beta and this not working for me too
Previously, I only tested Kainote beta ffms2 in AegisubDC and I thinked it's good ffms2 for everything but I was wrong

OrangeColaJuice
16th April 2022, 06:36
ffms2_6ad7738 (https://ppp.woelkli.com/s/NMk6MyD6LZR7nYH) (pass: u7Uezbh3fTHM):
- ffms2@90975ec;
- ffmpeg n5.1@1764a6887b;
- zlib 1.2.12;
- dav1d 1.0.0;
- AviSynth: set Dolby Vision RPU data in frame props.

This is what I was waiting for, cheers!
:goodpost:

filler56789
16th April 2022, 12:33
ffms2_6ad7738 (https://ppp.woelkli.com/s/NMk6MyD6LZR7nYH) (pass: u7Uezbh3fTHM):
- ffms2@90975ec;
- ffmpeg n5.1@1764a6887b;
- zlib 1.2.12;
- dav1d 1.0.0;
- AviSynth: set Dolby Vision RPU data in frame props.

Grazie mille. :thanks:

StvG
20th April 2022, 17:51
Who downloaded ffms2_6ad7738 (https://ppp.woelkli.com/s/NMk6MyD6LZR7nYH) (pass: u7Uezbh3fTHM), download it again. FFmpeg was built without zlib (FFImageSource couldn't open png files), now it's fixed.