Avs4x264mod
From Avisynth wiki
(Difference between revisions)
(avs4x264mod) |
(minor cosmetics and AviSynth 2.6) |
||
(2 intermediate revisions by one user not shown) | |||
Line 1: | Line 1: | ||
+ | [[Category:Utilities]] | ||
+ | [[Category:Piping]] | ||
{{Filter3 | {{Filter3 | ||
| {{Author/06_taro}} | | {{Author/06_taro}} | ||
Line 8: | Line 10: | ||
<br> | <br> | ||
== Description == | == Description == | ||
− | + | Continued development of [[avs4x264]]. You can use this software to encode videos using the 32-bit version of Avisynth with the 64-bit version of x264 under Windows.<br> | |
− | + | The x264 executable needs to be named x264_64.exe and placed in the same folder as this program. Otherwise use --x264-binary "x264_path"or -L "x264_path" to define the path of x264 binary. | |
− | + | Example: <pre>avs4x264mod.exe --x264-binary "C:\x264_64-abc.exe" -o out.264 in.avs</pre> | |
− | + | ||
<br> | <br> | ||
== Requirements == | == Requirements == | ||
− | + | * AviSynth 2.5.8 or [http://sourceforge.net/projects/avisynth2/ AviSynth 2.6.0] or greater | |
− | + | * Supported color formats: [[YV12]], [[YV16]], [[YV24]] | |
− | + | : <span style="color:red">**</span> If you're using AviSynth 2.5.8, [[YV12]] will be the only colorspace supported. | |
<br> | <br> | ||
== Modifications == | == Modifications == | ||
Line 112: | Line 113: | ||
*[http://github.com/astrataro/avs4x264mod GitHub] - Source code repository. | *[http://github.com/astrataro/avs4x264mod GitHub] - Source code repository. | ||
*[http://astrataro.wordpress.com/category/encode/x264/avs4x264mod/ Wordpress] - avs4x264 blog posts. | *[http://astrataro.wordpress.com/category/encode/x264/avs4x264mod/ Wordpress] - avs4x264 blog posts. | ||
− | + | ||
+ | *[http://github.com/tophf/avs4x264mod/releases GitHub] - Modified v0.9.1 with [http://i.imgur.com/W99kS0q.png colorized console output.] | ||
<br> | <br> | ||
<br> | <br> | ||
----------------------------------------------- | ----------------------------------------------- | ||
'''Back to [[Utilities]] ←''' | '''Back to [[Utilities]] ←''' |
Latest revision as of 14:41, 31 May 2015
Abstract | |
---|---|
Author | 06_taro |
Version | v0.9.1 |
Download | avs4x264mod-0.9.1-git-r64(105c53a).7z |
Category | Utilities |
License | GPLv2 |
Discussion | Doom9 Thread |
Contents |
[edit] Description
Continued development of avs4x264. You can use this software to encode videos using the 32-bit version of Avisynth with the 64-bit version of x264 under Windows.
The x264 executable needs to be named x264_64.exe and placed in the same folder as this program. Otherwise use --x264-binary "x264_path"or -L "x264_path" to define the path of x264 binary.
avs4x264mod.exe --x264-binary "C:\x264_64-abc.exe" -o out.264 in.avs
[edit] Requirements
- AviSynth 2.5.8 or AviSynth 2.6.0 or greater
- Supported color formats: YV12, YV16, YV24
- ** If you're using AviSynth 2.5.8, YV12 will be the only colorspace supported.
[edit] Modifications
-- When x264′s parameter “input-depth” is set and is not equal to 8, divide “width” by 2. This makes faked 16-bit avs output, i.e., MSB and LSB field interleaved clip, be treated correctly by x264. If “input-depth” is not defined or equals to 8, avs4x264mod acts in the same way as original avs4x264. -- Print full command-line piped to x264_64.exe to screen, prefixed by “avs4x264 [info]:”. -- Make x264_64.exe path changeable. The path of x264 binary can be set by --x264-binary "x264_path" or -L "x264_path". If custom path is not set, default path "x264_64.exe" will be used. -- Directly output i422/i444 with AviSynth 2.6 csp YV16/YV24. -- Show help info when running with no options. -- Improve capability with more styles of parameters in x264. E.g., --tcfile-in="timecode.txt", --input-depth=16, --x264-binary="x264", -L=x264 and -Lx264. -- Do not add --input-res/--fps/--frames/--input-csp if already defined. -- Correct number of frames to be handled when --frames is defined. -- Add "--seek-mode" to decide use "fast" seek mode or "safe" seek mode when has "--seek". Default is "fast". ---- "fast" mode is similar to x264's internal method of avs demuxer: skip frames until the frame --seek indicates. However, when used with --qpfile/--tcfile-in, it won't skip but add a "FreezeFrame(0, seek, seek)" to avs script to actually skip the process of those frames. I have to play this trick because x264 regards qpfile/tcfile-in as qpfiles/timecodes of input files, not output files, so the frame numbers of input piped raw ( can be only linearly seeked in x264 ) has to be left untouched. ---- "safe" mode uses a safer but slower method: delivering every untouched frame to x264. When the process of frames before "--seek" frame is heavy, the "useless" running time of processing those frames will be much longer than "fast" mode, but the result is safer for scripts like TDecimate(mode=3), which can only be seeked in a linear way. -- Add "--timebase" when using "--tcfile-in" -- Correct framerate to proper NTSC fraction if applicable -- Support direct .d2v/.dga/.dgi input, .vpy input with either VapourSource(VSImport) or vfw interface(AVISource/HBVFWSource), and some media file input such as .avi/.mkv/.mp4/.m2ts/etc
[edit] Usage
avs4x264mod - simple AviSynth pipe tool for x264 Version: 0.9.1.64, built on Aug 31 2013, 12:30:13
Usage: avs4x264mod [avs4x264mod options] [x264 options] <input>
Supported input formats: .avs .d2v: requires DGDecode.dll .dga: requires DGAVCDecode.dll .dgi: requires DGAVCDecodeDI.dll or DGDecodeNV.dll according to dgi file .vpy: try to use VSImport -> AVISource -> HBVFWSource (HBVFWSource requires HBVFWSource.dll, and will force input-depth=16) .avi: try to use AVISource -> LWLibavVideoSource -> FFVideoSource(normal) -> DSS2 -> DirectShowSource .mp4/.m4v/.mov/.3gp/.3g2/.qt: try to use LSMASHVideoSource -> LWLibavVideoSource -> FFVideoSource(normal) -> DSS2 -> DirectShowSource .m2ts/.mpeg/.vob/.m2v/.mpg/.ogm/.ogv/.ts/.tp/.ps: try to use LWLibavVideoSource -> FFVideoSource(demuxer="lavf" and seekmode=-1) -> DSS2 -> DirectShowSource seek-mode will be forced to "safe" for these formats if ffms is used .mkv/.flv/.webm: try to use LWLibavVideoSource -> FFVideoSource(normal) -> DSS2 -> DirectShowSource .rmvb/.divx/.wmv/.wmp/.asf/.rm/.wm: try to use DSS2 -> DirectShowSource
Options: -L, --x264-binary <file> User defined x264 binary path. [Default="x264_64"] --seek-mode <string> Set seek mode when using --seek. [Default="fast"] - fast: Skip process of frames before seek number as x264 does if no --tcfile-in/--qpfile specified; otherwise freeze frames before seek number to skip process, but keep frame number as-is. ( x264 treats tcfile-in/qpfile as timecodes/qpfile of input video, not output video ) Normally safe enough for randomly seekable AviSynth scripts. May break scripts which can only be linearly seeked, such as TDecimate(mode=3) - safe: Process and deliver every frame to x264. Should give accurate result with every AviSynth script. Significantly slower when the process is heavy.
[edit] Examples
avs4x264mod.exe --x264-binary "C:\x264_64-10bit.exe" --output "out.264" --input-depth 16 "in.avs"
[edit] Changelog
For a complete changelog see the GitHub commit log: http://github.com/astrataro/avs4x264mod/commits/master
[edit] External Links
- Doom9Froum - avs4x264 discussion.
- GitHub - Source code repository.
- Wordpress - avs4x264 blog posts.
- GitHub - Modified v0.9.1 with colorized console output.
Back to Utilities ←