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

7ekno
2nd July 2009, 15:09
Hi ya :)

Just wanted to report another instance of "Codec returned zero size video" in VirtualDub, AvsP and MPC ...

Same errror when invoked with FFMS2() or FFVideoSource() ...

Example clips (MTS with AVC video and AC3 audio, straight from a Panasonic AVCHDlite device):
00000.MTS (http://www.mediafire.com/file/vjzytkenzyi/00000.MTS.rar), 00001.MTS (http://www.mediafire.com/file/lmhn2zzigmg/00001.MTS.rar), 00002.MTS (http://www.mediafire.com/file/madjydtjjx0/00002.MTS.rar)

Can anybody suggest a possible fix using FFMS2, as they work with FFMpegSource(), DSS2() and AVCSource(), but I would prefer an FFMS2_MT version for speed (MT and standard FFMS2 throw the same error)!!

Thanks,
Tek

Myrsloik
2nd July 2009, 20:47
Hi ya :)

Just wanted to report another instance of "Codec returned zero size video" in VirtualDub, AvsP and MPC ...

Same errror when invoked with FFMS2() or FFVideoSource() ...

Example clips (MTS with AVC video and AC3 audio, straight from a Panasonic AVCHDlite device):
00000.MTS (http://www.mediafire.com/file/vjzytkenzyi/00000.MTS.rar), 00001.MTS (http://www.mediafire.com/file/lmhn2zzigmg/00001.MTS.rar), 00002.MTS (http://www.mediafire.com/file/madjydtjjx0/00002.MTS.rar)

Can anybody suggest a possible fix using FFMS2, as they work with FFMpegSource(), DSS2() and AVCSource(), but I would prefer an FFMS2_MT version for speed (MT and standard FFMS2 throw the same error)!!

Thanks,
Tek

I found a typo in the code so in the next release you'll get an access violation instead...

After that I looked at the real problem which looks similar to other clips I've seen before. Sometimes in transport streams it can't decode a single frame when Haali's splitter is used. I have no idea exactly what causes it. The reason 1.x can open it is that it uses LAVF instead. Then I tried opening it with LAVF's splitter intead of Haali's and it now "works" with seekmode!=1 after I found another typo in the code...

So I guess I'll make it possible to force using LAVF when creating indices with FFIndex() in the next version. That should at least give you working linear access. Or did 1.x work better than that?

TheRyuu
5th July 2009, 02:45
ffms2-mt-04072009.rar (http://sempai-net.com/ss-trainee/Dragon/ffms2-mt-04072009.rar) (beta 10ish)

Ditched ICL for now.
Compiled with gcc 4.4.0 + msvc.
Includes libfaad and opencore-amr.

ffms2, ffmpeg-mt, and opencore all updated to this day.

Myrsloik
12th July 2009, 13:28
A new version with more experimental fixes. Should fix h264 in TS like in this post http://forum.doom9.org/showthread.php?p=1302028#post1302028 (despite the name too). It also fixes a typo in the code for setting the width/height in the previous VC1 fix. If there are any regressions, especially that h264 files in TS stop working, make sure to report it.

Get it from http://ivtc.org/new/beta/FFMS2_vc1_fix2_test.rar

Note that there is still an issue that stops VC1 in TS streams from working (need to ask Haali when he reappears). Indexing of huge TS files can still hang but Haali has managed to reproduce it.

7ekno
14th July 2009, 08:08
A new version with more experimental fixes. Should fix h264 in TS like in this post http://forum.doom9.org/showthread.php?p=1302028#post1302028 (despite the name too).

Yep, worked perfectly, thanks for looking into it!!

I find for some reason FFMPEGSource2 more reliable on AVCHD sources (motion seems smoother in final transcoded MKV for some reason) .. Now where is TheRyuu with a -MT version :P

Thanks,
7ek

saint-francis
14th July 2009, 20:03
My troublesome VC-1 file fails right away with this one with a message saying the "FFVideoSource: Could not open video codec".

:(

LoRd_MuldeR
15th July 2009, 23:26
My troublesome VC-1 file fails right away with this one with a message saying the "FFVideoSource: Could not open video codec".

:(

Same here with my FFV1 source. I'm back to Beta-9 :)

Myrsloik
17th July 2009, 22:36
Same here with my FFV1 source. I'm back to Beta-9 :)

Is this a regression? Did your files work with beta9? If yes, could you upload a short sample of one of those files?

LoRd_MuldeR
17th July 2009, 23:26
Is this a regression? Did your files work with beta9? If yes, could you upload a short sample of one of those files?

Yes, it works perfectly fine with Beta-9. But it fails with Beta 10ish ("Could not open video codec").

Sample:
http://www.mediafire.com/file/tzqcoznudut/ffvh_sample.7z

Myrsloik
21st July 2009, 18:24
Yes, it works perfectly fine with Beta-9. But it fails with Beta 10ish ("Could not open video codec").

Sample:
http://www.mediafire.com/file/tzqcoznudut/ffvh_sample.7z

Now you've confused me. Your previous message said FFV1, but you sample is clearly FFVHuff. Not only that, it works perfectly for me.

Myrsloik
21st July 2009, 18:47
Beta 10 is out. It's very similar to the previously vc1 fix but with a slightly newer ffmpeg compiled in and some ffmsindex changes.

Look at the front page for a full list of changes but mostly it amounts to vc1 in mkv and h264 in ts fixes that will be noticed. And the much requested progress indication for ts files in ffmsindex, can't forget that one.

I've also added a donate button on my website (see my signature) and in the FFMS2 manual. I'd appreciate if you use it but don't panic or feel pressured, the development shall go on matter what happens.

Emess
21st July 2009, 18:52
From the FFMS2 channel at rizon.net: "Your download includes all current versions of the program at no cost. Also, please note that only one download is required to enable all of my ffms2 tools. You don't need to take multiple downloads."

IMO an incredible bargain given all that Myrsloik has given to enthusiasts (for free) already...

E~

TheFluff
21st July 2009, 18:54
I modified ffmsindex a bit; you can now use the -p switch to disable progress reporting, or repeat the -v switch to get more ffmpeg spam if you like that. The max number of meaningful instances of -v is four, which gives you AV_LOG_DEBUG (more spam than anyone would ever want).

LoRd_MuldeR
21st July 2009, 18:58
Now you've confused me. Your previous message said FFV1, but you sample is clearly FFVHuff. Not only that, it works perfectly for me.

In fact I was confused :D

I thought the "Could not open video codec" error happened with one of my FFV1 samples, but in fact it happenes (reproducible!) with the provided FFVHuff sample.

FFV1 is okay, even with the "Beta 10ish" build. Anyway, I will test the "official" Beta-10 as soon as possible and report back...

LoRd_MuldeR
21st July 2009, 20:09
In fact I was confused :D

I thought the "Could not open video codec" error happened with one of my FFV1 samples, but in fact it happenes (reproducible!) with the provided FFVHuff sample.

FFV1 is okay, even with the "Beta 10ish" build. Anyway, I will test the "official" Beta-10 as soon as possible and report back...

Okay, there is no problem with my FFVHuff sample under FFMS2 Beta-10. Great work :thanks:

LoRd_MuldeR
22nd July 2009, 22:11
Here is a MPEG-2 sample that FFVideoSource (Beta-10) rejects to open:
http://www.mediafire.com/file/1l5ntj0lyh5/dvb_sample.zip

It was captured from DVB-S. MPlayer and VLC do play it just fine. Also both, Avidemux and VirtualDub (with MPEG-2 plugin), do open that file just fine.

saint-francis
22nd July 2009, 23:32
Oh, you did it! My difficult VC-1 file works now!

Thank you very much!

TheRyuu
23rd July 2009, 22:05
ffms2-mt-b10-3.rar (http://sempai-net.com/ss-trainee/Dragon/ffms2-mt-b10-3.rar)

Finally got everything install on Windows 7 so here's that mt compile.

Built with GCC 4.4.0 (-march=i686 -mtune=generic) and MSVC 2008.
Includes opencore-amr, pthreads, and libfaad (all linked statically).

Edit: updated to latest ffmpeg-mt.

Edit2: does not fix the ffvhuff issue, but that has been solved (waiting on something else to post that).

Edit3: Now with 100% more ffvhuff decoding.

LoRd_MuldeR
23rd July 2009, 23:33
ffms2-mt-b10.rar (http://sempai-net.com/ss-trainee/Dragon/ffms2-mt-b10.rar)

That build once again has the "Could not open video codec" error with my FFVHuff sample. No such problem with Myrsloik build.

Is it possible that you did not include all the decoders? Or FFmpeg-MT is simply incomplete at this time?

Myrsloik
23rd July 2009, 23:41
That build once again has the "Could not open video codec" error with my FFVHuff sample. No such problem with Myrsloik build.

Is it possible that you did not include all the decoders? Or FFmpeg-MT is simply incomplete at this time?

My guess is that it was fixed (and broken) very recently in ffmpeg itself. Because of that those changes haven't been merged to ffmpeg-mt yet. Forgetting a decoder when compiling is very hard...

LoRd_MuldeR
24th July 2009, 00:00
Well, I will stick with your Beta-10 build then. It works fine for my FFVHuff clips. Being able to use the MT decoders, especially for my AVC clips, would be nice though ;)

BTW: The MT build fails on my MPEG-2 (http://forum.doom9.org/showpost.php?p=1307643&postcount=566) sample too (same for the "normal" build). So files of that kind can't be used with FFmpegSource at all...

TheRyuu
24th July 2009, 10:22
See here... (http://forum.doom9.org/showthread.php?p=1307962#post1307962) (4 posts up, link edited)

Now with 100% more ffvhuff decoding.

sl1pkn07
26th July 2009, 22:47
hello

how to install this program on linux?

compile fine bus make install not works:

sl1pkn07@SpinFlo:~/aplicaciones/FFmpegSource-2.00b10_src$ sudo make install
make: *** No hay ninguna regla para construir el objetivo `install'. Alto.



build

sl1pkn07@SpinFlo:~/aplicaciones/FFmpegSource-2.00b10_src$ cmake . -DCMAKE_INSTALL_PREFIX=/usr
-- The C compiler identification is GNU
-- The CXX compiler identification is GNU
-- Check for working C compiler: /usr/bin/gcc
-- Check for working C compiler: /usr/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- checking for module 'libavformat'
-- found libavformat, version 52.36.0
-- checking for module 'libavcodec'
-- found libavcodec, version 52.32.0
-- checking for module 'libavutil'
-- found libavutil, version 50.3.0
-- checking for module 'libavdevice'
-- found libavdevice, version 52.2.0
-- checking for module 'libswscale'
-- found libswscale, version 0.7.1
-- checking for module 'libpostproc'
-- found libpostproc, version 51.2.0
checking: avformat.h
found: /usr/include/libavformat
checking: avcodec.h
found: /usr/include/libavcodec
checking: avutil.h
found: /usr/include/libavutil
checking: avdevice.h
found: /usr/include/libavdevice
checking: swscale.h
found: /usr/include/libswscale
checking: postproc.h
-- Found ZLIB: /usr/lib/libz.so
-- Looking for include files CMAKE_HAVE_PTHREAD_H
-- Looking for include files CMAKE_HAVE_PTHREAD_H - found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Found Faad: /usr/lib/libfaad.so
-- Configuring done
-- Generating done
-- Build files have been written to: /home/sl1pkn07/aplicaciones/FFmpegSource-2.00b10_src
sl1pkn07@SpinFlo:~/aplicaciones/FFmpegSource-2.00b10_src$ make
Scanning dependencies of target FFMS2Core
[ 5%] Building C object CMakeFiles/FFMS2Core.dir/src/core/matroskaparser.c.o
[ 10%] Building C object CMakeFiles/FFMS2Core.dir/src/core/stdiostream.c.o
/home/sl1pkn07/aplicaciones/FFmpegSource-2.00b10_src/src/core/stdiostream.c: En la función ‘InitStdIoStream’:
/home/sl1pkn07/aplicaciones/FFmpegSource-2.00b10_src/src/core/stdiostream.c:107: aviso: asignación desde un tipo de puntero incompatible
/home/sl1pkn07/aplicaciones/FFmpegSource-2.00b10_src/src/core/stdiostream.c:108: aviso: asignación desde un tipo de puntero incompatible
/home/sl1pkn07/aplicaciones/FFmpegSource-2.00b10_src/src/core/stdiostream.c:109: aviso: asignación desde un tipo de puntero incompatible
/home/sl1pkn07/aplicaciones/FFmpegSource-2.00b10_src/src/core/stdiostream.c:110: aviso: asignación desde un tipo de puntero incompatible
/home/sl1pkn07/aplicaciones/FFmpegSource-2.00b10_src/src/core/stdiostream.c:111: aviso: asignación desde un tipo de puntero incompatible
/home/sl1pkn07/aplicaciones/FFmpegSource-2.00b10_src/src/core/stdiostream.c:112: aviso: asignación desde un tipo de puntero incompatible
/home/sl1pkn07/aplicaciones/FFmpegSource-2.00b10_src/src/core/stdiostream.c:113: aviso: asignación desde un tipo de puntero incompatible
/home/sl1pkn07/aplicaciones/FFmpegSource-2.00b10_src/src/core/stdiostream.c:114: aviso: asignación desde un tipo de puntero incompatible
/home/sl1pkn07/aplicaciones/FFmpegSource-2.00b10_src/src/core/stdiostream.c:115: aviso: asignación desde un tipo de puntero incompatible
[ 15%] Building CXX object CMakeFiles/FFMS2Core.dir/src/core/ffaudiosource.cpp.o
[ 21%] Building CXX object CMakeFiles/FFMS2Core.dir/src/core/ffhaaliaudio.cpp.o
[ 26%] Building CXX object CMakeFiles/FFMS2Core.dir/src/core/fflavfaudio.cpp.o
[ 31%] Building CXX object CMakeFiles/FFMS2Core.dir/src/core/ffmatroskaaudio.cpp.o
[ 36%] Building CXX object CMakeFiles/FFMS2Core.dir/src/core/ffvideosource.cpp.o
[ 42%] Building CXX object CMakeFiles/FFMS2Core.dir/src/core/ffhaalivideo.cpp.o
[ 47%] Building CXX object CMakeFiles/FFMS2Core.dir/src/core/fflavfvideo.cpp.o
[ 52%] Building CXX object CMakeFiles/FFMS2Core.dir/src/core/ffmatroskavideo.cpp.o
[ 57%] Building CXX object CMakeFiles/FFMS2Core.dir/src/core/ffms.cpp.o
[ 63%] Building CXX object CMakeFiles/FFMS2Core.dir/src/core/wave64writer.cpp.o
[ 68%] Building CXX object CMakeFiles/FFMS2Core.dir/src/core/utils.cpp.o
[ 73%] Building CXX object CMakeFiles/FFMS2Core.dir/src/core/indexing.cpp.o
[ 78%] Building CXX object CMakeFiles/FFMS2Core.dir/src/core/ffhaaliindexer.cpp.o
[ 84%] Building CXX object CMakeFiles/FFMS2Core.dir/src/core/fflavfindexer.cpp.o
[ 89%] Building CXX object CMakeFiles/FFMS2Core.dir/src/core/ffmatroskaindexer.cpp.o
Linking CXX shared library libFFMS2Core.so
[ 89%] Built target FFMS2Core
Scanning dependencies of target ffmsindex
[ 94%] Building CXX object CMakeFiles/ffmsindex.dir/src/index/ffmsindex.cpp.o
Linking CXX executable ffmsindex
[ 94%] Built target ffmsindex
Scanning dependencies of target ffmstest
[100%] Building CXX object CMakeFiles/ffmstest.dir/src/test/ffmstest.cpp.o
Linking CXX executable ffmstest
[100%] Built target ffmstest
sl1pkn07@SpinFlo:~/aplicaciones/FFmpegSource-2.00b10_src$ sudo make install
[sudo] password for sl1pkn07:
make: *** No hay ninguna regla para construir el objetivo `install'. Alto.
sl1pkn07@SpinFlo:~/aplicaciones/FFmpegSource-2.00b10_src$ sudo make install
make: *** No hay ninguna regla para construir el objetivo `install'. Alto.
sl1pkn07@SpinFlo:~/aplicaciones/FFmpegSource-2.00b10_src$

Emess
27th July 2009, 00:22
It's not implemented yet. You can manually copy libffms2core.so and any built binaries to where you need them, in /usr/{,local}/{bin,lib}/, use what is needed by your distro. At the moment ffms2 is provided mainly as a l use in your own projects, rather than an installable package.

E~

TheFluff
27th July 2009, 00:25
The unix build system wasn't really completed, there aren't very many except the Aegisub project that actually uses FFMS2 on unix, so the install command wasn't actually ever implemented (it's going to be now that you pointed it out, though).

If you want to do the installation manually in the meantime, copy libffms2core.so to $prefix/lib, include/ffms.h to $prefix/include, and ffmsindex & ffmstest to $prefix/bin. (ffmstest really isn't useable at all right now though, so you might as well skip that one.)

e: f, b

Myrsloik
27th July 2009, 01:03
hello

how to install this program on linux?

compile fine bus make install not works:

sl1pkn07@SpinFlo:~/aplicaciones/FFmpegSource-2.00b10_src$ sudo make install
make: *** No hay ninguna regla para construir el objetivo `install'. Alto.
...

Get the latest revision from svn and try again, it should install properly now.

sl1pkn07
27th July 2009, 02:12
thanks. but the 2.00b10 version works on aegisub.

aegisub not compile with ffmpegsorurce svn

Myrsloik
27th July 2009, 18:32
thanks. but the 2.00b10 version works on aegisub.

aegisub not compile with ffmpegsorurce svn

Just use replace the old CMakeLists.txt with the new one then. I should compile if you do that.

TheFluff
28th July 2009, 11:12
Aegisub has its own ffms2 on SVN, you should use that. If you for some reason really want to build aegisub with an external ffms2 newer than beta 10, it should be possible since r3294 (from yesterday).

Myrsloik
3rd August 2009, 00:00
VC1 in TS files now works. USE IT!
http://ivtc.org/new/beta/FFMS2_vc1_fix3_test.rar

It also has FFmpeg compiled with 32 as the max number of streams instead of 20 and will use LAVF instead of Haali's splitter if it isn't installed.

Note that a lot of refactoring was done since beta10 so there may be a few new bug lurking somewhere.

TheRyuu
4th August 2009, 02:12
ffms2-mt-03082009.rar (http://sempai-net.com/ss-trainee/Dragon/ffms2-mt-03082009.rar)

Svn build as of today (i.e. fixed vc1 decoding, etc...)

ffmpeg-mt had one minor update fixing the huff decoding problem (i.e. fixing the mt part instead of me just disabling the threading).
Other then that it is the same.

Built with:
MSVC 2008 (FFMS2)
GCC 4.4.0 (ffmpeg and libraries (libfaad, opencore, static pthread))

Taqyon
4th August 2009, 17:12
Hi Guys

I'm trying to open a VC-1 file or M2TS file, but I get a codec error in VirtualDub.

My script:

LoadPlugin ("C:\Program Files\AviSynth 2.5\plugins\ffms2.dll")
FFVideoSource("c:\Test.m2ts")

I'm using the build "ffms2-mt-03082009.rar".

Thanks

Myrsloik
4th August 2009, 18:00
Hi Guys

I'm trying to open a VC-1 file or M2TS file, but I get a codec error in VirtualDub.

My script:

LoadPlugin ("C:\Program Files\AviSynth 2.5\plugins\ffms2.dll")
FFVideoSource("c:\Test.m2ts")

I'm using the build "ffms2-mt-03082009.rar".

Thanks

Give. Me. A. Sample. Now.

moviefan
5th August 2009, 15:42
I have indexed a .264 raw file stream with the ffmsindex.exe file and thus created a .ffindex index-file. When I load the .264 video stream and the cache file like this:

FFVideoSource("file.264", cachefile="file.264.ffindex")

and the files are named like this, the index seems to be recreated... When I load this script into VirtualDub, there's no picture for a long time. What's wrong???

Edit: Now after a long time, VirtualDub reports "video track is unseekable"... Oh, and by the way, probably a very long-term suggestion (and I know this is really challenging): It would be really extremely great, if FFmpegSource was GPU assisted and not only by Nvidia cards, but also by ATI cards, so the code would have to be in either OpenCL or CUDA and ATI Stream... That would be totally amazing.

Myrsloik
5th August 2009, 17:18
I have indexed a .264 raw file stream with the ffmsindex.exe file and thus created a .ffindex index-file. When I load the .264 video stream and the cache file like this:

FFVideoSource("file.264", cachefile="file.264.ffindex")

and the files are named like this, the index seems to be recreated... When I load this script into VirtualDub, there's no picture for a long time. What's wrong???

Edit: Now after a long time, VirtualDub reports "video track is unseekable"... Oh, and by the way, probably a very long-term suggestion (and I know this is really challenging): It would be really extremely great, if FFmpegSource was GPU assisted and not only by Nvidia cards, but also by ATI cards, so the code would have to be in either OpenCL or CUDA and ATI Stream... That would be totally amazing.

That's because the stream is unseekable. The parser in LAVF does not support it, the end. Use seekmode=-1 if you really need to do it that way or mux it into a real container like mkv or mp4. Indexing will always work because it doesn't have to seek at all.

Now for a refresh in GPU (de)coding. ATI's stream is dead. DEAD. What you call "CUDA" is nvidia only and is using their decoder chip. Looking at the dgdecodeNV stuff I'm not impressed by the limitations at all. Also I hate nvidia so unless someone sends me a good set of SLI cards I'd never bother. OpenCL isn't available yet so good luck with that...

The only currently working acceleration built into FFmpeg is more or less linux+nvidia only. I think they're going to add yet another video acceleration API but windows support has never been one of their big strenghts. You're most likely better off investing in a threescoresofcores cpu and using the FFmpeg-mt builds, they're very stable nowadays.

Summary: I'd rather make something that works but thanks for asking

Myrsloik
8th August 2009, 17:05
Another small change with possibly big effects to test... This time it's a fix for the NVOPs found in many xvid files which would throw off linear decoding. It appears to work on all of my test files but it's still possible that some encoders for random reasons write their NVOPs differently, and it may still break in those cases.

http://ivtc.org/new/beta/FFMS2_nvop_fix_test.rar

Bumsfalara
9th August 2009, 11:09
Could someone please tell me how to use the SWScale function properly?

My avisynthscript looks like this:

LoadPlugin ("C:\Program Files (x86)\AviSynth 2.5\plugins\ffms2.dll")
FFVideoSource("F:\Dokumente\DVDFab\test.mkv", cachefile="F:\Dokumente\DVDFab\test.ffindex").SWScale(width =1280, height =720, resizer = "SPLINE", colorspace="YV12")

I always get the following error:
AviSynth script error:
SWScale: Context creation failed
*blahblah*


I looked into the documention: It seems that Swscale needs some input that is called "clip". The Problem is: I have no idea what i meant by this.


Thanks for your help

LoRd_MuldeR
9th August 2009, 11:18
"clip" is the implicit first argument of each Avisynth function.

If you call Foobar().SWScale(...), then "clip" will be the return value of Foobar(), so you don't need to set "clip" explicitly here.

Of course you could also do it like this:
c = Foobar()
SWScale(clip = c, ...)

However I'm getting the same "SWScale: Context creation failed" error when trying to use SWScale(). Not sure what it means...

Myrsloik
9th August 2009, 15:34
Could someone please tell me how to use the SWScale function properly?


"SWScale: Context creation failed" is the generic unknown error message and it was caused by trying to pass incorrect flags to it. I'll post another test version with the fix once I finish implementing the last part of the RFF flag support. (I hate force film, do you?)

Myrsloik
12th August 2009, 01:31
A new test version for you. No opencore-amr compiled in this time though. No ffmsindex.exe either because it needs to be updated too.

http://ivtc.org/new/beta/FFMS2_rff_test.rar

The main news are RFF flag support. This means you can now throw away DGDecode for most encoding purposes and DGAVCSource if you're encoding from the mkv or mp4 containers. The new setting is called rffmode where 0=ignore flags, 1=honor pulldown flags and 2=force film. (don't use force film, instead use tfm(d2v=...) or something, maybe I'll add fake d2v writing some day)

It also changes the behavior on indexing when errors are encountered when decoding audio to possibly be more compatible. There should be no change in behavior for completely correct files. The FFPP and SWScale avisynth filters also have a bug fixed that would cause them to not work or use other settings than specified.

TEST IT AND REPORT THE RESULTS ON YOUR FAVORITE VOB OR FILE WITH AUDIO THAT WOULDN'T INDEX BEFORE.

thewebchat
13th August 2009, 19:27
Is this because "force film" mode doesn't work in FFMS2 or is it because you want everyone to run TFM on progressive frames?

Myrsloik
13th August 2009, 20:43
Is this because "force film" mode doesn't work in FFMS2 or is it because you want everyone to run TFM on progressive frames?

It's because force film is quite a bad idea. Unless it truly is 100% undeniably film everywhere guaranteed exactly (in which case ignoring the pulldown flags will have the same effect, btw). Consider these two scenarios:

What happens if you use TFM(d2v=...) and honor pulldown flags is that it will take its matches from the d2v. Only in the irregular ntsc portions (or portions where the match using the field suggested by the d2v is horribly bad, I assume) will it revert to good old field matching. Combine with TDecimate and you have something that can properly handle slight irregularities.

What happens with force film is that you ignore every single pulldown flag when creating the output. Instead you just check to see if you need to duplicate or drop a frame as encoded in the source to keep the total number of frames intact. The result is that one single "interlaced" frame/orphaned field in the source will almost unconditionally be present in all its eye cancer glory.

Force film is just there to make it feature complete. Never use it if you have a choice. Also, my implementation can handle frame duplication and tripling unlike the DG tools (just a small note, I've never seen a stream that actually does it).

mavinashbabu
14th August 2009, 16:11
Hi,

I had downloaded FFMpeg binaries from Google Code Downloads link. I copied .dll's, .exe and .avsi to \Avisynth\Plugins\ folder, i get error Avisynth is not installed make sure it is installed first, and same error if i copy them into \windows\system32 folder except for .avsi file.

Can i get help here if i have to make it work? i am using DSS() and i was adviced to use FFVideoSource() instead of DSS().

Thanks
Avinash

Myrsloik
15th August 2009, 14:01
Hi,

Nothing that makes sense here...

Thanks
Avinash

Step 1: Include all relevant information
Step 2: Hope that someone cares

I have no idea what you did but it's not right. Stop putting random things in system32. What says avisynth isn't installed? Did you even install avisynth?

mavinashbabu
15th August 2009, 21:12
hi,

Thanks for the reply.

I have Avisynth installed and is working fine.

I downloaded FFMS from this link http://ffmpegsource.googlecode.com/files/FFmpegSource-2.00b10.rar

I opened archive and copied ffms2.dll and ffmsindex.exe from archive and copied it to Avisynth\plugins folder, but when i say FFVideoSource("Media_File_Name") or FFMpegSource2() i get error saying saying "there is no function named" for both the functions

Then i copied ffms2.avsi i try to use above functions FFVS() or FFMs2(), i get avisynth not installed error, but it is.

Then i put the ffms2.dll and ffmsindex.exe in \windows\system32 folder thought it would help, but i got the same error messages as above.

I hope i am clear in explaining.

Thanks,
Avinash

TheFluff
15th August 2009, 21:16
I opened archive and copied ffms2.dll and ffmsindex.exe from archive and copied it to Avisynth\plugins folder, but when i say FFVideoSource("Media_File_Name") or FFMpegSource2() i get error saying saying "there is no function named" for both the functions

What happens if you say loadplugin("X:/whateverfolder/ffms2.dll") at the top of the script (replace the path with the one on your computer, obviously)?

SEt
15th August 2009, 21:16
Feature request: export variable with true time of current frame. Would be best to have it also as string like info().

ffms2.avsi in the release is missing '\' at the end of line 6.

mavinashbabu
15th August 2009, 21:22
What happens if you say loadplugin("X:/whateverfolder/ffms2.dll") at the top of the script (replace the path with the one on your computer, obviously)?

Thanks for the tip, i will try and reply back

Myrsloik
15th August 2009, 21:24
Feature request: export variable with true time of current frame. Would be best to have it also as string like info().

ffms2.avsi in the release is missing '\' at the end of line 6.

How do you want that to be exported? I don't think a float will be precise enough and there are no doubles in avisynth. What about rational form like it's stored? It would mean timebase numerator, denominator and the multiple of that. Or just as an int with the number of ms elapsed since the clip start?

I don't like to export things as strings, there's always one more formatting option you have to add. It's material for ffms2.avsi if anything.

The missing \ has been fixed in the RFF test already.

mavinashbabu
15th August 2009, 21:31
If i say this --> Loadplugin("C:\Program Files\AviSynth 2.5\plugins\ffms2.dll")

It works for FFVideoSource() but FFmpegSource2() still says There is no function named "FFMpegSource2()"

Thanks,
Avinash