Log in

View Full Version : Good x264 encode command line for AMD Phenom II X6 1045T 2.70 GHZ


Pages : 1 [2]

wcwman18
7th August 2012, 00:17
Using the Preset system does not speed-up things per se!

The x264 presets simply provide a very convenient and foolproof way to tweak the "speed -vs- quality" trade-off. If your goal is to squish out more speed, you have to switch from your current preset to a faster one.

If switching, e.g., from "slower" to "faster" preset doesn't give a significant speed-up, you are very likely bottlenecked by slow input. As mentioned earlier, you can benchmark your AVS script with AVSMeter (http://forum.doom9.org/showthread.php?t=165528)...

(You certainly won't be able to encode any faster than what AVSMeter reports for your input script, even with the "ultrafast" preset)

Is their any ways to fix bottle necking? 16-18fps takes forever.

Here is my current set up if you have any ideas for me to try.

I use a HD PVR and it records 1920 x 1080 at 13.5mbps. It records to a .ts file that I then edit in videoredo. Then I encode that edited file with x264. Any other details that might help?

Groucho2004
7th August 2012, 01:26
Is their any ways to fix bottle necking?
Several options (not mutually exclusive):
- Get a faster CPU/MB
- Use DGDecodeNV to offload decoding and de-interlacing
- Use a faster de-interlacer

wcwman18
7th August 2012, 01:33
Several options (not mutually exclusive):
- Get a faster CPU/MB
- Use DGDecodeNV to offload decoding and de-interlacing
- Use a faster de-interlacer

I don't have a nvidia card. How might I use a faster deinterlacer?

Groucho2004
7th August 2012, 01:51
I thought yadif is pretty fast so I don't really know what to recommend that is faster and doesn't suck. Search the forum.

Whenever I need to de-interlace I use QTGMC which is in a completely different league in terms of quality. But it's also quite slow. It does have fast modes but I don't know how those compare to yadif.

wcwman18
7th August 2012, 02:37
Here is my current PC if anyone can look at the specs and recommend anything. Maybe Avisynth MT?

http://h20000.www2.hp.com/bizsupport/TechSupport/Document.jsp?objectID=c02679437&lang=en&cc=us&taskId=101&contentType=SupportFAQ&prodSeriesId=5035344&prodTypeId=12454

AnonCrow
7th August 2012, 02:51
Crazy idea: Don't deinterlace, remove those lines from the avisynth script, add the necessary option to your x264 commandline to encode as interlaced, then see what kind of speeds and CPU usage you get. Deinterlace during playback if necessary.

Or get a ~30-70 € Nvidia card (about the same speed or slightly faster than your current Radeon that it would replace)

wcwman18
7th August 2012, 03:18
Crazy idea: Don't deinterlace, remove those lines from the avisynth script, add the necessary option to your x264 commandline to encode as interlaced, then see what kind of speeds and CPU usage you get. Deinterlace during playback if necessary.

Or get a ~30-70 € Nvidia card (about the same speed or slightly faster than your current Radeon that it would replace)

Can't deinterlace during playback. I stream this files in my flash media player.

Groucho2004
7th August 2012, 07:59
Here is my current PC if anyone can look at the specs and recommend anything. Maybe Avisynth MT?

http://h20000.www2.hp.com/bizsupport/TechSupport/Document.jsp?objectID=c02679437&lang=en&cc=us&taskId=101&contentType=SupportFAQ&prodSeriesId=5035344&prodTypeId=12454

QTGMC and Avisynth MT are probably worth a try, considering that you have 6 CPU cores to play with.

LoRd_MuldeR
7th August 2012, 14:44
Yadif probably is the fastest (software) deinterlacer you want to use.

Even faster would be a simple "Bob()" or a "SeparateFields().SelectEven()" followed by a resize, but result won't be nice.

I second the suggestion to get a cheap NVidia card plus DGDecodeNV and use hardware deinterlacing...

wcwman18
7th August 2012, 15:42
Is their a faster way since my files capture in h264 that I can make AAC 192 audio and mp4 x264 without the long encode?

LoRd_MuldeR
7th August 2012, 17:16
Is their a faster way since my files capture in h264 that I can make AAC 192 audio and mp4 x264 without the long encode?

If you really need to re-encode your streams, then there isn't a faster way ;)

x264 already is the most sophistiocated H.264 software encoder. Depending on the settings/preset used, it can do anything between being extremely good quality (which of course comes at the cost of reduced encoding speed) and being extremely fast (which of course comes at the cost of reduced quality). If, however, you are bottlenecking x264 with slow input, it obviously can't do anything about that.

Also: Don't let yourself be fooled by so-called "hardware" or "GPU-based" H.264 encoders. The developers of such encoders always try to make you believe that their encoders are faster than the available software solutions. They'll show you "nice" FPS numbers. But in fact they only achieve fast encoding speed, because they output crap quality! And of course they compare their speed to "high quality" x264 settings, which makes those FPS numbers completely meaningless. At comparable quality, they can't keep up with x264. Even worse: Most hardware encoders can't do anything but "fast and ugly" mode - options are very limited, if available at all. As recent tests (http://forum.doom9.org/showthread.php?t=165539) have shown, the situation hast not changed much...

wcwman18
7th August 2012, 17:23
Ok, thanks for all your help. One last question, coreavc works well for me speed wise however not to far in to the encode it locks up x264 and I can't get anything encoded. Does this happen to just me or have others reported to?

LoRd_MuldeR
7th August 2012, 18:46
CoreAVC is a DirectShow filter, so I guess you are trying to use it with x264 via Avisynth and DirectShowSource().

DirectShowSource() always is a bit problematic. But: Does the very same Avisynth script lock up too when you try to play it through in VirtualDub?

Because DirectShow is involved, it may very well be the Demuxer/Splitter filter that locks up, rather than CoreAVC itself.

So what does happen if you try to play the source video file in a DirectShow-based player, such as MPC-HC, using CoreAVC as the decoder?

Last but not least, you may want to give DSS2() a try instead of DirectShowSource(). Note: DSS2() is implemented in "avss.dll", which ships with Haali Media Splitter.

If nothing else helps, you'll have to try your luck with the CoreCodec support...

wcwman18
8th August 2012, 02:53
CoreAVC is a DirectShow filter, so I guess you are trying to use it with x264 via Avisynth and DirectShowSource().

DirectShowSource() always is a bit problematic. But: Does the very same Avisynth script lock up too when you try to play it through in VirtualDub?

Because DirectShow is involved, it may very well be the Demuxer/Splitter filter that locks up, rather than CoreAVC itself.

So what does happen if you try to play the source video file in a DirectShow-based player, such as MPC-HC, using CoreAVC as the decoder?

Last but not least, you may want to give DSS2() a try instead of DirectShowSource(). Note: DSS2() is implemented in "avss.dll", which ships with Haali Media Splitter.

If nothing else helps, you'll have to try your luck with the CoreCodec support...

DSS2 worked great thanks.
How might I use lavf as my decoder?

LoRd_MuldeR
8th August 2012, 10:37
The FFMS2 plug-in for Avisynth is based on libavcodec/libavformat. So is the native (built-in) FFMS2 input of x264.

The ffdshow-tryouts DirectShow filter is based on decoders from libavcodec (mostly) as well...

wcwman18
9th August 2012, 03:26
DSS2 now causes my x264 to hang at only 2 seconds left of the encode. I have cleaned my plugins folder and reinstalled. Here is my current script.

LoadPlugin("C:\Program Files (x86)\AviSynth 2.5\plugins\avss.dll")
LoadPlugin("C:\Users\Owner\Desktop\pack\DG\DGAVCDecode.dll")
Load_STDCall_Plugin("C:\Program Files (x86)\AviSynth 2.5\plugins\yadif.dll")
DSS2("tonight.ts")
ConvertToYV12()
Yadif(0,1)
Lanczos4Resize(1280,720,6,6,-6,-6)

Would this be the proper script to try FFMS2?
LoadPlugin("C:\Users\Owner\Desktop\pack\DG\DGAVCDecode.dll")
Load_STDCall_Plugin("C:\Program Files (x86)\AviSynth 2.5\plugins\yadif.dll")
Import("C:\Program Files\AviSynth 2.5\plugins\FFMS2.avsi")
LoadPlugin("C:\Program Files (x86)\AviSynth 2.5\plugins\ffms2.dll")
A = FFAudioSource(tonight_new.ts)
V = FFVideoSource(tonight_new.ts)
AudioDub(V, A)
ConvertToYV12()
Yadif(0,1)
Lanczos4Resize(704,400,6,6,-6,-6)

If my files are full HD .TS files what might be the best script to use, this?

LoadPlugin("C:\Users\Owner\Desktop\pack\DG\DGAVCDecode.dll")
Load_STDCall_Plugin("C:\Program Files (x86)\AviSynth 2.5\plugins\yadif.dll")
AVCSource("tonight.dga")
ConvertToYV12()
Yadif(0,1)
Lanczos4Resize(704,400,6,6,-6,-6)