View Full Version : MPEG4 in Surreal UI
Sirber
9th January 2004, 19:22
What should I do?
Latexxx
9th January 2004, 19:36
You could start with Xvid and Divx and later add support for libavcodec when your program is more mature. The first release doesn't have to support everything.
Sirber
9th January 2004, 19:45
the first release will be RealVideo only, this vote is for the future VFW part.
bond
10th January 2004, 13:01
ffmpeg/libavcodec is not using vfw
i guess ffmpeg is the most advanced mpeg-4 codec around (meaning the options it offers) but i dunno if it would offer a similar quality like xvid for example
mf
10th January 2004, 13:34
Originally posted by bond
ffmpeg/libavcodec [..] but i dunno if it would offer a similar quality like xvid for example
Read doom9's shootout ;).
bilu
10th January 2004, 14:10
Originally posted by bond
ffmpeg/libavcodec is not using vfw
What about FFVFW?
Bilu
bond
10th January 2004, 14:18
ffvfw is a vfw codec using libavcodec
Sirber
10th January 2004, 14:37
if it uses VFW or not, what's the big deal?
bilu
10th January 2004, 17:00
You need VFW for Avisynth input, unless there is a way to provide it to FFMPEG directly. But with FFVFW, the VFW interface for libavcodec, the problem gets solved :)
Bilu
bond
11th January 2004, 11:33
avisynth has nothing to do with vfw
mf
11th January 2004, 13:11
Originally posted by bond
avisynth has nothing to do with vfw
Oo, bad statement. AVISynth makes fake AVI files through the use of the vfw interface. And you need either vfw or a COM interface (afaik) to request a script.
bond
11th January 2004, 13:36
huh didnt know that avisynth is so vfw related :eek:
Sirber
11th January 2004, 19:13
so if FFMPEG is not VFW complient, I can't use AVISynth with it? :confused:
bilu
11th January 2004, 19:53
Originally posted by Sirber
so if FFMPEG is not VFW complient, I can't use AVISynth with it? :confused: FFMPEG uses libavcodec for MPEG-4 encoding, so does FFVFW. Think of FFVFW as the VFW version of FFMPEG. Use it instead.
Bilu
Sirber
11th January 2004, 20:01
if I use FFVFW I'll need avs2avi, as for XviD and DivX. If so, I might drop DivX 5 and WMV9, and just keep RV10/9/8, XviD and VP6.
bond
11th January 2004, 22:08
sirber wants to use a commandline encoder if possible i assume
but all-in-all ffmpeg offers that much options i cant believe it cant handle .avs input, its surely possible :)
Sirber
11th January 2004, 22:10
commandline give much more power using 1 interface. VFW UI change often, which need to update the GUI using it quite often :)
bilu
12th January 2004, 02:37
Latest build here: http://www.ligh.de/software/ffvfw/ffvfw-20031117.exe
Latest AVS2AVI : http://daveel.leffe.dnsalias.com/avs2avi-131a.zip
Registry keys here HKEY_CURRENT_USER\Software\GNU\ffvfw
Then use avs2avi MOVIE.AVS MOVIE.AVI -c ffvfw
( -c <4cc> : Use codec having <4cc> with default settings )
With the settings you changed in the registry. A lot of tools work this way with XVID, so why not with FFVFW? ;)
Bilu
Sirber
12th January 2004, 02:44
XviD can be all configured in registry? :eek:
bilu
12th January 2004, 02:52
HKEY_CURRENT_USER\Software\GNU\XviD
:D
Once upon a time I made an encoder called R4R_ENC, made entirely out of batch files and Avisynth scripts, that changed XVID settings in the registry, including file size for the 2nd pass.
Dolemite's DVX and others also use this method.
Bilu
Sirber
12th January 2004, 03:07
yeah I remember... great :)
registry I shall use for interface :cool: hum... does VP6 also uses registry? :D
On2Tech
12th January 2004, 13:55
Originally posted by Sirber
yeah I remember... great :)
registry I shall use for interface :cool: hum... does VP6 also uses registry? :D
Yes for everything but the bitrate. To set the bitrate you can use the iccompressframes message. for reference sake here's a snippet ..
ICCOMPRESSFRAMES iccf;
memset(&iccf, 0, sizeof iccf);
iccf.dwFlags = 0;
iccf.lpbiOutput = &m_biOut; // bitmap info of expected output
iccf.lpbiInput = &m_biIn; // bitmap info of input
iccf.lStartFrame = 0;
iccf.lFrameCount = 0; // ?
iccf.lQuality = 0; // not used by vp6
iccf.lDataRate = 38400; //bytes per second about 300 kilobits
iccf.lKeyRate = 300;
iccf.dwRate = 29970;
iccf.dwScale = 1000;
ICSendMessage(m_hic, ICM_COMPRESS_FRAMES_INFO, reinterpret_cast<DWORD>(&iccf), sizeof iccf); // m_hic is a compressor handle
Sirber
18th January 2004, 16:57
could it be possible to add bitrate into registry? would be much easier :)
CruNcher
18th January 2004, 18:13
Sirber sure it is but you dont have to forget to set use_2pass_bitrate and be carefull with what you are manipulating you can have alot of false results if you set some switches wrong ;) you even can set the Q Matrix via the registry and ofcourse theirfore the quanttype thats used.
for example
mode 0 = single pass
mode 1 = firstpass
mode 2 = secondpass
quant_type 0 = h263
quant_type 1 = mpeg
quant_type 2 = custom
stats = stats file
desired_size = only works if use_2pass_bitrate is 0
bitrate = only works if use_2pass_bitrate is 1
gets used if quant_type 2
qmatrix_intra"=hex:08,10,10,10,11,12,15,18,10,10,10,10,11,13,16,19,10,10,11,\
12,14,16,19,1d,10,10,12,15,18,1b,1f,24,11,11,14,18,1e,23,29,2f,12,13,16,1b,\
23,2c,36,41,15,16,19,1f,29,36,46,58,18,19,1d,24,2f,41,58,73
"qmatrix_inter"=hex:13,13,13,13,14,16,19,1d,13,13,13,13,14,17,1a,1e,13,13,14,\
15,17,1a,1d,22,13,13,15,19,1c,20,25,2a,14,14,17,1c,23,2a,30,38,16,17,1a,20,\ 2a,35,40,4d,19,19,1d,25,30,40,53,68,1d,1e,22,2a,38,4d,68,89
the rest of the functions should be self clearing like all the curve setting for 2 pass and the profile switches for the 1st pass some switches in 1pass also have no effect because core doesn't use them (fast1pass).
ChristianHJW
22nd January 2004, 16:43
Use FFMPEG/libavcodec, linked statically, and write native MKV files with it :) ...
Sirber
22nd January 2004, 16:55
I might add FFMPEG, but after XviD / VP6.
Priority:
1) Helix Producer
2) avs2avi
3) FFMPEG
Latexxx
22nd January 2004, 17:55
Originally posted by ChristianHJW
Use FFMPEG/libavcodec, linked statically, and write native MKV files with it :) ...
You are hijacking every thread you can :D ...
ChristianHJW
23rd January 2004, 15:50
Originally posted by Latexxx You are hijacking every thread you can :D ... ... he was asking opinions, here is mine. If he does what he is planing above, his app will be one like many other, at least in this respect. With writing of native MKV files from either FFMPEG or xvidcore.dll, he would be the first to do it, since very unfortunately DaveEL never got avs2matroska working properly :( .....
Nobody, of course, can expect me to tell him that then he also had the chance to add direct MP4 output, putting his app in a row with NeroDigital, for creation of spec compliant MP4 files, but with b-frames ;) ....
Sirber
23rd January 2004, 17:11
Originally posted by ChristianHJW
If he does what he is planing above, his app will be one like many other, at least in this respect.I don,t think Surreal UI will be an app like many others, since it will be the first one to support RealVideo and VFW codecs, batch encoding and powerfull settings management. :D
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.