Man, what is it with the big secret that no one wants to share, inside x264
(H.264) command line "params" -- not showing or listing them, or even finding
them on the web (via exhaustive google search) ??
( I was trying to figure out how to change codecs (via command-line param) for a
test.avi encode of a Huffy; DV; Raw 411; ..even RGB; but on account of the lack
of param listings -- I just keep getting the error that it can't encode because
it doesn't recignise the codecs - (below) )
>> avis [error]: unsupported input format (HFYU)
>> avis [error]: unsupported input format (Y41P)
>> avis [error]: unsupported input format (DVSD)
>> avis [error]: unsupported input format (DIB )
So, since I couldn't find them (param listing) on the web, I decided to just run
the .exe and get a listing on my screen. But, Houstin, there is a problem..
I still live inside windows 98 and when I issue the at the dos box, the
PIPE commands, ( "|more" and ">" ) Example:
x264|more
or
x264>param_listing.txt
Neither one works. So, I load up CMD.EXE and give that a try. Still no works.
All the commands/param options fly down my console screen, and I'm left at a loss
Thanks,
-vhelp 4105
+ Reply to Thread
Results 1 to 9 of 9
-
-
jagabo, thanks for your kind interest. However, that still doesn't work.
A direct copy/paste of your snip shows same results in my earlier attempts..
the screen quickly fills and (I left this fact out in first post) the
param_listing.txt size, is zero bytes.
I continue at the google search (most the this afternnon, now going into
the evening night) and still nothing.
Perhaps its my inquiry thats' at fault. I've tried all these, which does
include visiting many of the links when I see "param" for instance.
x264 +"params"
x264 +"parameters"
x264 +"param list"
x264 +"param listing"
x264 +"parameter list"
x264 +"parameter listing"
x264 +"command-line params"
x264 +"command-line param list"
And the list just keeps going, and going, and going.. ..
I give up. I guess I'll stick the vdub route after all. Can't be
all that bad.
-vhelp 4106 -
Here's what I get on my Mac.
Code:lees-powerbook-g4-15:~ Lee$ x264>param x264 core:47 svn-531 Syntax: x264 [options] -o outfile infile [widthxheight] Infile can be raw YUV 4:2:0 (in which case resolution is required), or YUV4MPEG 4:2:0 (*.y4m), or AVI or Avisynth if compiled with AVIS support (no). Outfile type is selected by filename: .264 -> Raw bytestream .mkv -> Matroska .mp4 -> MP4 if compiled with GPAC support (no) Options: -h, --help Print this help Frame-type options: -I, --keyint <integer> Maximum GOP size [250] -i, --min-keyint <integer> Minimum GOP size [25] --scenecut <integer> How aggressively to insert extra I-frames [40] -b, --bframes <integer> Number of B-frames between I and P [0] --no-b-adapt Disable adaptive B-frame decision --b-bias <integer> Influences how often B-frames are used [0] --b-pyramid Keep some B-frames as references --no-cabac Disable CABAC -r, --ref <integer> Number of reference frames [1] --nf Disable loop filter -f, --filter <alpha:beta> Loop filter AlphaC0 and Beta parameters [0:0] Ratecontrol: -q, --qp <integer> Set QP (0=lossless) [26] -B, --bitrate <integer> Set bitrate --crf <integer> Quality-based VBR (nominal QP) --qpmin <integer> Set min QP [10] --qpmax <integer> Set max QP [51] --qpstep <integer> Set max QP step [4] --ratetol <float> Allowed variance of average bitrate [1.0] --vbv-maxrate <integer> Max local bitrate [0] --vbv-bufsize <integer> Size of VBV buffer [0] --vbv-init <float> Initial VBV buffer occupancy [0.9] --ipratio <float> QP factor between I and P [1.40] --pbratio <float> QP factor between P and B [1.30] --chroma-qp-offset <integer> QP difference between chroma and luma [0] -p, --pass <1|2|3> Enable multipass ratecontrol: - 1: First pass, creates stats file - 2: Last pass, does not overwrite stats file - 3: Nth pass, overwrites stats file --stats <string> Filename for 2 pass stats ["x264_2pass.log"] --rceq <string> Ratecontrol equation ["blurCplx^(1-qComp)"] --qcomp <float> QP curve compression: 0.0 => CBR, 1.0 => CQP [0.60] --cplxblur <float> Reduce fluctuations in QP (before curve compression) [20.0] --qblur <float> Reduce fluctuations in QP (after curve compression) [0.5] --zones <zone0>/<zone1>/... Tweak the bitrate of some regions of the video Each zone is of the form <start frame>,<end frame>,<option> where <option> is either q=<integer> (force QP) or b=<float> (bitrate multiplier) Analysis: -A, --analyse <string> Partitions to consider ["p8x8,b8x8,i8x8,i4x4"] - p8x8, p4x4, b8x8, i8x8, i4x4 - none, all (p4x4 requires p8x8. i8x8 requires --8x8dct.) --direct <string> Direct MV prediction mode ["spatial"] - none, spatial, temporal, auto -w, --weightb Weighted prediction for B-frames --me <string> Integer pixel motion estimation method ["hex"] - dia: diamond search, radius 1 (fast) - hex: hexagonal search, radius 2 - umh: uneven multi-hexagon search - esa: exhaustive search (slow) --merange <integer> Maximum motion vector search range [16] -m, --subme <integer> Subpixel motion estimation and partition decision quality: 1=fast, 7=best. [5] --b-rdo RD based mode decision for B-frames. Requires subme 6. --mixed-refs Decide references on a per partition basis --no-chroma-me Ignore chroma in motion estimation --bime Jointly optimize both MVs in B-frames -8, --8x8dct Adaptive spatial transform size -t, --trellis <integer> Trellis RD quantization. Requires CABAC. [0] - 0: disabled - 1: enabled only on the final encode of a MB - 2: enabled on all mode decisions --no-fast-pskip Disables early SKIP detection on P-frames --no-dct-decimate Disables coefficient thresholding on P-frames --nr <integer> Noise reduction [0] --cqm <string> Preset quant matrices ["flat"] - jvt, flat --cqmfile <string> Read quant matrices from a JM-compatible file Overrides any other --cqm* options. --cqm4 <list> Set all 4x4 quant matrices Takes a comma-separated list of 16 integers. --cqm8 <list> Set all 8x8 quant matrices Takes a comma-separated list of 64 integers. --cqm4i, --cqm4p, --cqm8i, --cqm8p Set both luma and chroma quant matrices --cqm4iy, --cqm4ic, --cqm4py, --cqm4pc Set individual quant matrices Video Usability Info (Annex E): The VUI settings are not used by the encoder but are merely suggestions to the playback equipment. See doc/vui.txt for details. Use at your own risk. --sar width:height Specify Sample Aspect Ratio --overscan <string> Specify crop overscan setting ["undef"] - undef, show, crop --videoformat <string> Specify video format ["undef"] - component, pal, ntsc, secam, mac, undef --fullrange <string> Specify full range samples setting ["off"] - off, on --colorprim <string> Specify color primaries ["undef"] - undef, bt709, bt470m, bt470bg smpte170m, smpte240m, film --transfer <string> Specify transfer characteristics ["undef"] - undef, bt709, bt470m, bt470bg, linear, log100, log316, smpte170m, smpte240m --colormatrix <string> Specify color matrix setting ["undef"] - undef, bt709, fcc, bt470bg smpte170m, smpte240m, GBR, YCgCo --chromaloc <integer> Specify chroma sample location (0 to 5) [0] Input/Output: --level <string> Specify level (as defined by Annex A) --fps <float|rational> Specify framerate --seek <integer> First frame to encode --frames <integer> Maximum number of frames to encode -o, --output Specify output file --threads <integer> Parallel encoding (uses slices) --thread-input Run Avisynth in its own thread --no-asm Disable all CPU optimizations --no-psnr Disable PSNR computation --quiet Quiet Mode -v, --verbose Print stats for each frame --progress Show a progress indicator while encoding --visualize Show MB types overlayed on the encoded video --sps-id <integer> Set SPS and PPS id numbers [0] --aud Use access unit delimiters
-
live4ever, big thanks to ya, pal. mac version is better than nothing.
And, I can't see how there could be any difference. Lets hope not.
Now, onto the original problem with encoding an huffy/dv/411/rgb sources.
After reading the (latest mac ver) param list, looks like there is no
provision for altering x264 to recignise other codecs. However, reading
part of the param list by live4ever, the lines:
>> Infile can be raw YUV 4:2:0 (in which case resolution is required),
>> or YUV4MPEG 4:2:0 (*.y4m),
..seem to indicate that I x264 (via command-line) requires raw YUV.420
sources. hmm.. reminds me of the mpeg2enc.exe app requireing YUV4MPEG
images, and how I found avs2yuv. Maybe that'll work, and that's my
whole problem -- solved. Testing..
Another Hmm.. Now I see why GUI 's are so importnat. They help reduce
the repetitive nonsence of guggling around various things
I'll start with a .bat, and work my way up to a GUI of my own. Something
with a simple drag'n drop, maybe.
So all in all, it looks like my initial endeavor was but a missunderstanding
with nonsense about the codec I was on about
Will report back my success w/ avs2yuv.exe (avs2yuv.bat) in a moment.
testing.. .. ..
-vhelp 4107 -
Unfortunately, nothing is happening, except that I get the fast text dump
to my screen, (assuming I have an error message) I can't see it!!
So, I can't do anything about it or move further, because of this.
I am using avs2yuv to make a raw yuv [yv12] source for x264, and I assume
that it is working in that step successfully.
For what its worth, I'll drop my steps here, in case someone else falls
into this situation, they won't suffer the same fate..
--Step 1: (the source video, opening source w/ vdub and frameserve it)
LN1: AVI_Source -> vdub -> 1.vdr
--Step 2: (avs_script.avs file, to read in vdub's frameserved 1.vdr source, above)
LN2: line 1 -- x="c:\1.vdr"
LN3: line 2 -- segmentedAVISource(x)
Now that we have the source in AVIsynth, we compile it..
--Step 3: (avs2yuv.bat: compiling the .avs script file into raw yuv, via avs2yuv.exe tool)
LN4: line 1 -- avs2yuv.exe "avs_script.avs" -o "yuv.yuv"
Where: when avs2yuv.bat is run, the output looks like this:
>> avs_script.avs: 720x480, 30000/1001 fps, 32 frames
>> converting RGB -> YV12
--Step 4: (encoding the new "yuv.yuv" [yv12] source file with x264)
LN5: x264 --bitrate 931 --progress --output "yuv.mp4" "yuv.yuv"
LN6: x264 --bitrate 931 --progress --output "yuv.264" "yuv.yuv"
--Step 5: (the outcome of the encode)
n/a .. Nothing .. no decirnable error messages to view.
Running both LN5 and LN6 produce no decirnable output messages. So, I can't
debug the problem any further than this.
-vhelp 4108 -
Here's the --longhelp text if it will help:
x264 core:50 svn-558
Syntax: x264 [options] -o outfile infile [widthxheight]
Infile can be raw YUV 4:2:0 (in which case resolution is required),
or YUV4MPEG 4:2:0 (*.y4m),
or AVI or Avisynth if compiled with AVIS support (yes).
Outfile type is selected by filename:
.264 -> Raw bytestream
.mkv -> Matroska
.mp4 -> MP4 if compiled with GPAC support (yes)
Options:
-h, --help List the more commonly used options
--longhelp List all options
Frame-type options:
-I, --keyint <integer> Maximum GOP size [250]
-i, --min-keyint <integer> Minimum GOP size [25]
--scenecut <integer> How aggressively to insert extra I-frames [40]
-b, --bframes <integer> Number of B-frames between I and P [0]
--no-b-adapt Disable adaptive B-frame decision
--b-bias <integer> Influences how often B-frames are used [0]
--b-pyramid Keep some B-frames as references
--no-cabac Disable CABAC
-r, --ref <integer> Number of reference frames [1]
--nf Disable loop filter
-f, --filter <alpha:beta> Loop filter AlphaC0 and Beta parameters [0:0]
Ratecontrol:
-q, --qp <integer> Set QP (0=lossless) [26]
-B, --bitrate <integer> Set bitrate (kbit/s)
--crf <integer> Quality-based VBR (nominal QP)
--vbv-maxrate <integer> Max local bitrate (kbit/s) [0]
--vbv-bufsize <integer> Enable CBR and set size of the VBV buffer (kbit) [0]
--vbv-init <float> Initial VBV buffer occupancy [0.9]
--qpmin <integer> Set min QP [10]
--qpmax <integer> Set max QP [51]
--qpstep <integer> Set max QP step [4]
--ratetol <float> Allowed variance of average bitrate [1.0]
--ipratio <float> QP factor between I and P [1.40]
--pbratio <float> QP factor between P and B [1.30]
--chroma-qp-offset <integer> QP difference between chroma and luma [0]
-p, --pass <1|2|3> Enable multipass ratecontrol
- 1: First pass, creates stats file
- 2: Last pass, does not overwrite stats file
- 3: Nth pass, overwrites stats file
--stats <string> Filename for 2 pass stats ["x264_2pass.log"]
--rceq <string> Ratecontrol equation ["blurCplx^(1-qComp)"]
--qcomp <float> QP curve compression: 0.0 => CBR, 1.0 => CQP [0.60]
--cplxblur <float> Reduce fluctuations in QP (before curve compression) [20.0]
--qblur <float> Reduce fluctuations in QP (after curve compression) [0.5]
--zones <zone0>/<zone1>/... Tweak the bitrate of some regions of the video
Each zone is of the form
<start frame>,<end frame>,<option>
where <option> is either
q=<integer> (force QP)
or b=<float> (bitrate multiplier)
--qpfile <string> Force frametypes and QPs
Analysis:
-A, --analyse <string> Partitions to consider ["p8x8,b8x8,i8x8,i4x4"]
- p8x8, p4x4, b8x8, i8x8, i4x4
- none, all
(p4x4 requires p8x8. i8x8 requires --8x8dct.)
--direct <string> Direct MV prediction mode ["spatial"]
- none, spatial, temporal, auto
-w, --weightb Weighted prediction for B-frames
--me <string> Integer pixel motion estimation method ["hex"]
- dia: diamond search, radius 1 (fast)
- hex: hexagonal search, radius 2
- umh: uneven multi-hexagon search
- esa: exhaustive search (slow)
--merange <integer> Maximum motion vector search range [16]
-m, --subme <integer> Subpixel motion estimation and partition
decision quality: 1=fast, 7=best. [5]
--b-rdo RD based mode decision for B-frames. Requires subme 6.
--mixed-refs Decide references on a per partition basis
--no-chroma-me Ignore chroma in motion estimation
--bime Jointly optimize both MVs in B-frames
-8, --8x8dct Adaptive spatial transform size
-t, --trellis <integer> Trellis RD quantization. Requires CABAC. [0]
- 0: disabled
- 1: enabled only on the final encode of a MB
- 2: enabled on all mode decisions
--no-fast-pskip Disables early SKIP detection on P-frames
--no-dct-decimate Disables coefficient thresholding on P-frames
--nr <integer> Noise reduction [0]
--cqm <string> Preset quant matrices ["flat"]
- jvt, flat
--cqmfile <string> Read custom quant matrices from a JM-compatible file
Overrides any other --cqm* options.
--cqm4 <list> Set all 4x4 quant matrices
Takes a comma-separated list of 16 integers.
--cqm8 <list> Set all 8x8 quant matrices
Takes a comma-separated list of 64 integers.
--cqm4i, --cqm4p, --cqm8i, --cqm8p
Set both luma and chroma quant matrices
--cqm4iy, --cqm4ic, --cqm4py, --cqm4pc
Set individual quant matrices
Video Usability Info (Annex E):
The VUI settings are not used by the encoder but are merely suggestions to
the playback equipment. See doc/vui.txt for details. Use at your own risk.
--overscan <string> Specify crop overscan setting ["undef"]
- undef, show, crop
--videoformat <string> Specify video format ["undef"]
- component, pal, ntsc, secam, mac, undef
--fullrange <string> Specify full range samples setting ["off"]
- off, on
--colorprim <string> Specify color primaries ["undef"]
- undef, bt709, bt470m, bt470bg
smpte170m, smpte240m, film
--transfer <string> Specify transfer characteristics ["undef"]
- undef, bt709, bt470m, bt470bg, linear,
log100, log316, smpte170m, smpte240m
--colormatrix <string> Specify color matrix setting ["undef"]
- undef, bt709, fcc, bt470bg
smpte170m, smpte240m, GBR, YCgCo
--chromaloc <integer> Specify chroma sample location (0 to 5) [0]
Input/Output:
-o, --output Specify output file
--sar width:height Specify Sample Aspect Ratio
--fps <float|rational> Specify framerate
--seek <integer> First frame to encode
--frames <integer> Maximum number of frames to encode
--level <string> Specify level (as defined by Annex A)
-v, --verbose Print stats for each frame
--progress Show a progress indicator while encoding
--quiet Quiet Mode
--no-psnr Disable PSNR computation
--no-ssim Disable SSIM computation
--threads <integer> Parallel encoding (uses slices)
--thread-input Run Avisynth in its own thread
--no-asm Disable all CPU optimizations
--visualize Show MB types overlayed on the encoded video
--sps-id <integer> Set SPS and PPS id numbers [0]
--aud Use access unit delimiters -
Why not just use AVISynth with avisource() as input? Much easier and faster. Even before x264 got avs support, you could pipe from avs2yuv rather than creating a file.
Also if I recall there was a patch for creating a build with libavcodec/format for input. That would allow huffyuv and DV input directly. Could also use ffmpeg, since it can output using x264. But then ffmpeg's commandline args are even more complicated/elusive. -
Originally Posted by vhelp
A quick way to extract such output is to use "strings", a command line app that filters out text from random files.
Get it here
then
strings -a x264.exe >x264.txt
( -a is ASCII, otherwise it looks for Unicode)
That gives you a 100k text file; open it with your favorite editor, just scroll down past the gibberish till you find the help text, or search for likely words, like "help", to jump to the right part.
You could also just open the exe in a text editor, especially for a small file, but x264.exe is 900K and strings cuts out 90% of that.
Similar Threads
-
Problem with x264.exe (MeGui)
By yomz in forum Video ConversionReplies: 7Last Post: 28th Sep 2011, 21:23 -
Empty audio files when converting MPEG2 with h.264 mencoder or h.264 x264
By doctormelodious in forum ffmpegX general discussionReplies: 3Last Post: 4th Jul 2010, 08:12 -
X264.exe and AviSynth?
By Eva-Unit01 in forum Video ConversionReplies: 5Last Post: 29th Jan 2010, 09:17 -
Where Do I Put The x264.EXE?
By hech54 in forum DVD RippingReplies: 4Last Post: 23rd Jul 2009, 14:23 -
x264.exe error
By streetak in forum Blu-ray RippingReplies: 1Last Post: 1st Feb 2009, 12:17