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

foxyshadis
1st December 2007, 09:40
I'd load it into soundforge, or any NLE that's handly and shows audio graphically, but that doesn't help if you don't have one. Audacity might be able to help, though.

Wilbert
28th December 2007, 16:54
@Myrsloik,

What happens if you open a file (which is DV with color format 4:1:1)?

http://forum.doom9.org/showthread.php?p=1080432#post1080432

Is this a bug in ffmpegsource (for example it doesn't check the color format which is outputted by the decoder, or it doesn't request the appropriate color format from the decoder), or is ffmpeg not decoding it correctly?

Myrsloik
28th December 2007, 17:02
Not much because I don't seem to have any DV files at all. Do I get a free sample?

foxyshadis
28th December 2007, 20:23
http://www1.mplayerhq.hu/MPlayer/samples/DV-raw/ Here's one of the same format.

Myrsloik
28th December 2007, 22:36
My results:
FFmpegSource: same odd stuff as in the screenshot
FFmpeg.exe: Unable to find a suitable output format for 'c:/FFmpegSource/voxnews.dv'
Mplayer: dies instantly unless two instances are launched at the same time and then one seems to work

I don't think it's my fault this time...

themostestultimategenius
29th December 2007, 04:59
Try using QTSource?

Incase you don't have the plugin (Just too lazy to search for the thread with it =p)
http://www.mediafire.com/?ahw5eznzazp

Myrsloik
5th January 2008, 14:24
Version 1.14 released. The main new thing is that it's statically linked (only one dll) and is linked with a much newer ffmpeg.

buzzqw
5th January 2008, 14:49
with 1.14 i got stuck with "LoadPlugin: unable to load c:\xx\ffmpegsource.dll"

even if i keep all other dlls ( like avcodec-51.dll, avformat-51.dll ... from previus package ) in windows\system32

BHH

Nikos
5th January 2008, 16:14
Ver. 1.13 works fine but 1.14 give me errors with or without the old dlls.
"Script open failed"

Myrsloik
5th January 2008, 16:33
The file is updated now. For some reason I can't understand the release compile didn't link properly.

buzzqw
5th January 2008, 16:50
yes! now working!!

BHH

Nikos
5th January 2008, 17:19
Thanks, now working fine!!!

Kurtnoise
5th January 2008, 21:19
Version 1.14 released. The main new thing is that it's statically linked (only one dll) and is linked with a much newer ffmpeg.
Thanks for the new release. Did you have include some patches with it (E-AC3 decoder, TrueHD/MLP...) or not ?

Myrsloik
5th January 2008, 21:30
No, it remains patchless. I'm too lazy to bother with adding those things as I don't need it myself and at least one day they'll hopefully be integrated. Feel free to make your own compiles of it..

jmartinr
12th January 2008, 16:01
Thanks for the good work.

But unfortunately DV stil gives a sort of scrambled outcome.

Screencapture is here: http://www.nkbv.nl/blobs/wedstrijden/test/palintlt.bmp
Script is here: http://www.nkbv.nl/blobs/wedstrijden/test/palintlt.avs
AVI (Pal DV) is here: http://www.nkbv.nl/blobs/wedstrijden/test/palintlt.avi

1.13 had the same error. Avi does play in ffplay SVN-r8891.

Myrsloik
12th January 2008, 18:55
The file decodes in a just as messed up way with a recent ffplay. Not my fault and I have no idea what causes it.

jmartinr
12th January 2008, 23:18
Could you tell me which version of ffplay that is? Rev11143 still works fine. :confused:

Myrsloik
12th January 2008, 23:35
I think c/c++ compilers hate me in general. One recompile of ffmpeg+ffmpegsource and it works. Behold the newer version which will be known as 1.15.

jmartinr
13th January 2008, 15:05
:thanks:

Klute
14th January 2008, 13:10
ive got a problem with an quicktime file, which has a res of 582x319.
when i try to transcode it using ffmpegsource, i get an "YV12 images for output must have a width divisible by 4 (use crop)!" error.

:-/

Beastie Boy
14th January 2008, 13:19
"YV12 images for output must have a width divisible by 4 (use crop)!":-/

The error message is quite clear. Neither 582 or 319 are multiples of 4, so...

Klute
14th January 2008, 13:34
The error message is quite clear. Neither 582 or 319 are multiples of 4, so...

yes, i know. the problem is, that im searching for a way to encode lots of different files without having to change the script all the time.
version 1.14 at least fixed the problem that i had with the uneven height.

edit: ahhh, i know, now that the uneven height problem is gone, i can just convert to another colorspace... thanks for hinting me in the right direction ;)

Leak
14th January 2008, 13:55
yes, i know. the problem is, that im searching for a way to encode lots of different files without having to change the script all the time.
How about putting something like
Crop(0,0,-(last.width%4),-(last.height%4))
at the end of your script?

I'd say cropping up to 3 pixels at the right and bottom side shouldn't be much of a problem...

Klute
14th January 2008, 14:24
thanks :)

IanB
14th January 2008, 21:54
Only the width is restricted to mod 4, the height can be mod 2Crop(0,0,-(last.width%4),-(last.height%2))

cweb
22nd January 2008, 13:50
Today I tried opening a pal dv avi using ffmpegsource with the parameter atrack=-1. the frame rate is 100 instead of 25fps..

function dvsource(string name)
{
ffmpegsource(name,atrack=-1)
}
video=dvsource("video1.avi")
video=video.info()
video

Myrsloik
22nd January 2008, 16:50
You must have a very special avi file. Make sure to treasure it for it will bring you much happiness.

DarkZell666
23rd January 2008, 11:22
And I ate an apple yesterday ... :D

@cweb : Unless you were interrupted while writting your post, I don't see the point either, did something actually go wrong ? :p
If so, what precisely ?

cweb
23rd January 2008, 11:40
And I ate an apple yesterday ... :D

@cweb : Unless you were interrupted while writting your post, I don't see the point either, did something actually go wrong ? :p
If so, what precisely ?
It gave the wrong frame rate.. double the supposed amount.
However I noticed afterwards that I had *another* dvsource function in another include file, and it was calling *that* function instead of the one in the main avs file...
so sorry about that. ffmpegsource for a dv avi seems not to work like someone else had posted. I took the alternative of merging my dv avi's using virtualdub into combined avi's instead and I accessed them using avisource again..

DarkZell666
23rd January 2008, 15:13
Today I tried opening a pal dv avi using ffmpegsource with the parameter atrack=-1. the frame rate is 100 instead of 25fps..
That info wasn't in your post originally (unless I've got early eye disease ? oO)
So you edited it, and somehow the "Last Edited by cweb at xx:xx:xx" message isn't mentionned at the bottom of your post.

wtf !? :eek:

cweb
23rd January 2008, 15:50
That info wasn't in your post originally (unless I've got early eye disease ? oO)
So you edited it, and somehow the "Last Edited by cweb at xx:xx:xx" message isn't mentionned at the bottom of your post.

wtf !? :eek:
No I didn't edit the info about the frame rate.. it was there in the first place.

DarkZell666
23rd January 2008, 17:23
... my apologies then :rolleyes:

cweb
23rd January 2008, 18:32
... my apologies then :rolleyes:

No problem.. :)

ernstblaauw
14th February 2008, 17:42
In the first post, FFAudioSource is called 'experimental'. I used it to open a slightly corrupted MP3 file (MPASource did not manage to openit correctly), and it worked ok for me. Does it need more testing? Or is it just "not tested but implemented"?
However, I'm very happy with this plugin - I hope you'll develop this one further (if needed, of course :-). Thanks!

Atak_Snajpera
14th February 2008, 17:49
MPASource doesn't support mp3

ernstblaauw
14th February 2008, 17:54
MPASource doesn't support mp3

It does - for example DVD slideshow GUI uses it for loading mp3 files. See also http://avisynth.org/mediawiki/Importing_media, it is stated there.

Myrsloik
14th February 2008, 20:26
It is highly experimantal. In this case experimental means "this may or may not work properly but I'm too lazy to find out myself so now I'm going to release it on the internet and do something else and see what happens". Not much happened so either no one uses it or it works well enough most of the time.

Future ideas if anyone wants to comment:

Make indexing a single separate step and index all streams present in a file at once (no idea what to do about audio with variable block sizes, maybe it will be fast enough anyway even if those have to be decoded)
Separate FFmpegSource into FFVideoSource and FFAudioDump (write as wave(64) files and then use wavsource to return it if necessary)
Add swscale (just because it's there, would only provide alternatives to colorspace conversion functions with some additional settings possible)
Compile with mlp/eac3 patches (if there's still any real demand)
Make it possible to set the number of threads libavcodec uses for decoding (note that most decoders aren't multithreaded anyway)

ernstblaauw
14th February 2008, 20:30
It is highly experimantal. In this case experimental means "this may or may not work properly but I'm too lazy to find out myself so now I'm going to release it on the internet and do something else and see what happens". Not much happened so either no one uses it or it works well enough most of the time.

For me it works well enough most of the time :-). Good luck with the 'road map' you just posted. This is really a great plugin!

shita
29th February 2008, 03:56
Can you help me link to get ffplay.exe for win in ffmpeg project ? Thanks

buzzqw
29th February 2008, 08:25
@shita
http://ffdshow.faireal.net/mirror/ffmpeg/ffmpeg.rev11870.7z

BHH

jase99
8th March 2008, 05:08
I need fast frame accurate vc1 seeking. seekmode=0 works but is too slow. seekmode=1 does not work, if the container is:

evo: sometimes frame accurate, sometimes not
vc1: cannot seek
avi: could not open video codec
mkv: could not open video codec

With the mkv container, here is error reported under linux/wine:

Avisynth error:
FFmpegSource: Video codec not found
(test.avs, line 1)
[matroska @ 00A7E028]Unknown entry 0xbf in info header
[matroska @ 00A7E028]Unknown entry 0x73a4 in info header
[matroska @ 00A7E028]Unknown entry 0xbf in track header
[matroska @ 00A7E028]Unknown/unsupported CodecID V_VC1.

Is there a version of ffmpegsource that supports fast frame accurate seeking?

Myrsloik
8th March 2008, 09:06
Tthe matroska part is a bit special as it requires a table that maps the matroka codec names to decoders in libavcodec. Guess I'll have to ask haali to update the list with all new codecs that can be stored in matroska.

...and yes, there is a version that supports fast frame accurate seeking but you can't have it.

jase99
8th March 2008, 20:17
If there is already a version that has fast (e.g., seekmode=1) accurate frame seeking of vc1 in a container ffmpegsource can read then is there a reason why I may not try it? Alternatively, would you be able to suggest another approach that I could investigate?

The problem I have is my avis script is very slow, 108 hours to run through a 2 hour movie, and thats just dumping the output of avs2yuv to /dev/null. I have 96 cores available and am trying to split up the avis processing across them. I split up the script with trim()'s and encode to huffyuv each of the 96 parts in parallel, then feed the joined result (with another script) into x264. H.264 and MPEG-2 are working fine with dgavcdec and dgindex but vc-1 continues to be a problem because i have not found a frame accurate solution.

TheFluff
8th March 2008, 23:28
If there is already a version that has fast (e.g., seekmode=1) accurate frame seeking of vc1 in a container ffmpegsource can read then is there a reason why I may not try it?
Check your sarcasm detector, I believe it is broken.

jase99
9th March 2008, 01:56
Oops, yep I guess it was. :)

Myrsloik
9th March 2008, 02:19
It's time for a small update. This one probably brings more interesting miscompilation issues in one way or another as it has ffmpeg compiled with --enable-w32threads. The new things are multithreaded decoding (in the few decoders where it's available if threads is set), many missing matroska codec ids added (like native vc1) and as usual a newer ffmpeg revision (and many fixes in the source for compiling against a newer ffmpeg revision).

...unless you're named jase99 in which case you can't download it.

jase99
9th March 2008, 03:25
Wow, that was fast. Doesn't work for me (vc1 in mkv):
1.15 - Video codec not found
1.16 - Could not open video codec

Myrsloik
9th March 2008, 17:45
Upload a small (1 GB or less) vc1 in mkv clip to ftp://upload:upload@mellbin.org/ and I'll look at it some more.

jase99
10th March 2008, 02:38
I used mkvmerge's split option to make a small file and uploaded test50mb.mkv, hope its large enough.

This is my avis:
FFmpegSource("test50mb.mkv",timecodes="test50mb.tc",vtrack=-1,atrack=-2,vcache=true,vcachefile="test50mb.cache",pp="",ppquality=0,seekmode=1)

EDIT:
I tried re-muxing to mp4 (another frame accurate container) using ffmpeg (muxing seemed to work) and openeing in ffmpegsource, no go. A quick update to my earlier post about opening vc1 in a container:
vc1: Video track is unseekable
evo: opens but not always frame accurate with seekmode=1 (seekmode=0 too slow)
avi: Could not open video codec
mkv: Could not open video codec
mp4: Could not open video codec

Since avi/mkv/mp4 all report the same message, I wonder if it is a generic problem with ffmpegsource's interface to ffmpeg's vc1 decoder?

Myrsloik
10th March 2008, 23:29
Don't expect this to be solved anytime soon because it seems to be caused by things far beyond my control.