Avs2pipemod

From Avisynth wiki
(Difference between revisions)
Jump to: navigation, search
(link to avs2pipe, add brief description)
(v1.0.0 [WIP])
Line 1: Line 1:
[[Category:Utilities]]
 
[[Category:Piping]]
 
 
{{Filter3
 
{{Filter3
 
| {{Author/Chikuzen}}
 
| {{Author/Chikuzen}}
| 0.4.2m
+
| 1.0.0
| [http://www.mediafire.com/download/alg424t3kx7ak5d/avs2pipemod-0.4.2m.7z avs2pipemod-0.4.2m.7z]
+
| [http://github.com/chikuzen/avs2pipemod/releases avs2pipemod-1.0.0.zip]
 
| Utilities
 
| Utilities
 
| [http://www.gnu.org/licenses/gpl-3.0.txt GPLv3]
 
| [http://www.gnu.org/licenses/gpl-3.0.txt GPLv3]
Line 10: Line 8:
 
<br>
 
<br>
 
== Description ==
 
== Description ==
Given an avisynth script as input, '''avs2pipemod''' can send video, audio, or information of various types to [http://en.wikipedia.org/wiki/Standard_streams stdout] for consumption by command-line encoders or other tools. It is a continued development of [http://forum.doom9.org/showthread.php?t=160383 avs2pipe]. Thanks to Chris Beswick for releasing avs2pipe under [http://www.gnu.org/licenses/gpl-3.0.html GPL 3.0].
+
Given an AviSynth script as input, '''avs2pipemod''' can send video, audio, or information of various types to [http://en.wikipedia.org/wiki/Standard_streams stdout] for consumption by command-line encoders or other tools. It is a continued development of [http://forum.doom9.org/showthread.php?t=160383 avs2pipe]. Thanks to Chris Beswick for releasing avs2pipe under [http://www.gnu.org/licenses/gpl-3.0.html GPL 3.0].
 
<br>
 
<br>
 
<br>
 
<br>
Line 29: Line 27:
  
 
== Requirements ==
 
== Requirements ==
* AviSynth 2.5.8 or [http://sourceforge.net/projects/avisynth2/ AviSynth 2.6.0] or greater
+
* [http://sourceforge.net/projects/avisynth2/ AviSynth 2.6.0] or greater
 
* Supported color formats: [[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]
 
* Supported color formats: [[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]
: <span style="color:red">**</span> If you're using AviSynth 2.5.8, [[YV12]] will be the only colorspace supported.
 
 
<br>
 
<br>
  
 
== Usage ==
 
== Usage ==
  avs2pipemod  ver 0.4.2m
+
  avs2pipemod  ver 1.0.0
  built on Jan 20 2013 15:04:37<br>
+
  built on Jul 10 2016 14:14:38<br>
 
  Usage: avs2pipemod [option] input.avs
 
  Usage: avs2pipemod [option] input.avs
 
   e.g. avs2pipemod -wav=24bit input.avs > output.wav
 
   e.g. avs2pipemod -wav=24bit input.avs > output.wav
 
         avs2pipemod -y4mt=10:11 input.avs | x264 - --demuxer y4m -o tff.mkv
 
         avs2pipemod -y4mt=10:11 input.avs | x264 - --demuxer y4m -o tff.mkv
 
         avs2pipemod -rawvideo -trim=1000,0 input.avs > output.yuv<br>
 
         avs2pipemod -rawvideo -trim=1000,0 input.avs > output.yuv<br>
   {{Template:FuncDef|-wav}}[=8bit|16bit|24bit|32bit|float  default unset]
+
   -wav[=8bit|16bit|24bit|32bit|float  default unset]
 
         output wav format audio(WAVEFORMATEX) to stdout.
 
         output wav format audio(WAVEFORMATEX) to stdout.
 
         if optional arg is set, audio sample type of input will be converted
 
         if optional arg is set, audio sample type of input will be converted
 
         to specified value.<br>
 
         to specified value.<br>
   {{Template:FuncDef|-extwav}}[=8bit|16bit|24bit|32bit|float  default unset]
+
   -extwav[=8bit|16bit|24bit|32bit|float  default unset]
 
         output wav extensible format audio(WAVEFORMATEXTENSIBLE) containing
 
         output wav extensible format audio(WAVEFORMATEXTENSIBLE) containing
 
         channel-mask to stdout.
 
         channel-mask to stdout.
 
         if optional arg is set, audio sample type of input will be converted
 
         if optional arg is set, audio sample type of input will be converted
 
         to specified value.<br>
 
         to specified value.<br>
   {{Template:FuncDef|-rawaudio}}[=8bit|16bit|24bit|32bit|float  default unset]
+
   -rawaudio[=8bit|16bit|24bit|32bit|float  default unset]
 
         output raw pcm audio(without any header) to stdout.
 
         output raw pcm audio(without any header) to stdout.
 
         if optional arg is set, audio sample type of input will be converted
 
         if optional arg is set, audio sample type of input will be converted
 
         to specified value.<br>
 
         to specified value.<br>
   {{Template:FuncDef|-y4mp}}[=sar  default 0:0]
+
   -y4mp[=sar  default 0:0]
 
         output yuv4mpeg2 format video to stdout as progressive.
 
         output yuv4mpeg2 format video to stdout as progressive.
   {{Template:FuncDef|-y4mt}}[=sar  default 0:0]
+
   -y4mt[=sar  default 0:0]
 
         output yuv4mpeg2 format video to stdout as tff interlaced.
 
         output yuv4mpeg2 format video to stdout as tff interlaced.
   {{Template:FuncDef|-y4mb}}[=sar  default 0:0]
+
   -y4mb[=sar  default 0:0]
 
         output yuv4mpeg2 format video to stdout as bff interlaced.<br>
 
         output yuv4mpeg2 format video to stdout as bff interlaced.<br>
   {{Template:FuncDef|-rawvideo}}[=vflip default unset]
+
   -rawvideo[=vflip default unset]
 
         output rawvideo(without any header) to stdout.<br>
 
         output rawvideo(without any header) to stdout.<br>
   {{Template:FuncDef|-x264bdp}}[=4:3 default unset(16:9)]
+
   -info - output information about aviscript clip.<br>
        suggest x264(r1939 or later) arguments for bluray disc encoding
+
   -benchmark - do benchmark aviscript, and output results to stdout.<br>
        in case of progressive source.
+
   -dumptxt - dump pixel values as tab separated text to stdout.<br>
        set optarg if DAR4:3 is required(ntsc/pal sd source).
+
   -trim[=first_frame,last_frame  default 0,0]
  {{Template:FuncDef|-x264bdt}}[=4:3  default unset(16:9)]
+
        suggest x264(r1939 or later) arguments for bluray disc encoding
+
        in case of tff interlaced source.
+
        set optional arg if DAR4:3 is required(ntsc/pal sd source).<br>
+
  {{Template:FuncDef|-x264raw}}[=input-depth(8 to 16) default 8]
+
        suggest x264 arguments in case of -rawvideo output.
+
        set optional arg when using interleaved output of dither hack.
+
  {{Template:FuncDef|-x264rawtc}}[=input-depth(8 to 16) default 8]
+
        suggest x264 arguments in case of -rawvideo output with --tcfile-in.
+
        set optional arg when using interleaved output of dither hack.<br>
+
  {{Template:FuncDef|-info}} - output information about aviscript clip.<br>
+
   {{Template:FuncDef|-benchmark}} - do benchmark aviscript, and output results to stdout.<br>
+
   {{Template:FuncDef|-dumptxt}} - dump pixel values as tab separated text to stdout.<br>
+
   {{Template:FuncDef|-trim}}[=first_frame,last_frame  default 0,0]
+
 
         add Trim(first_frame,last_frame) to input script.
 
         add Trim(first_frame,last_frame) to input script.
 
         in info, this option is ignored.<br>
 
         in info, this option is ignored.<br>
 +
  -y4mbits[=9/10/12/14/16 default 16]
 +
        specify true bit depth of YUV4XXP16
 +
        this option is available only at the time of Y4M output<br>
 +
  -dll[=path to avisynth.dll  default "avisynth"]
 +
        specify which avisynth .dll is used.<br>
 
  note1 : in yuv4mpeg2 output mode, RGB input that has 720pix height or more
 
  note1 : in yuv4mpeg2 output mode, RGB input that has 720pix height or more
        will be converted to YUV with Rec.709 coefficients instead of Rec.601.
+
        will be converted to YUV with Rec.709 coefficients instead of Rec.601.<br>
        and, if your avisynth version is 2.5.x, YUY2 input will be converted
+
  note2 : in fact, it is a spec violation to use WAVEFORMATEX(-wav option)
        to YV12.<br>
+
        except 8bit/16bit PCM.
  note2 : '-x264bd(p/t)' supports only for primary stream encoding.<br>
+
        however, there are some applications that accept such invalid files
note3 : in fact, it is a spec violation to use WAVEFORMATEX(-wav option)
+
        instead of supporting WAVEFORMATEXTENSIBLE.<br>
        except 8bit/16bit PCM.
+
  note3 : '-extwav' supports only general speaker positions.<br>
        however, there are some applications that accept such invalid files
+
        instead of supporting WAVEFORMATEXTENSIBLE.<br>
+
  note4 : '-extwav' supports only general speaker positions.<br>
+
 
  Chan. MS channels                Description
 
  Chan. MS channels                Description
 
  ----- -------------------------  ----------------
 
  ----- -------------------------  ----------------
Line 101: Line 86:
 
   6    FL FR FC LF BL BR          Standard Surround
 
   6    FL FR FC LF BL BR          Standard Surround
 
   7    FL FR FC LF BL BR BC      With back center
 
   7    FL FR FC LF BL BR BC      With back center
   8    FL FR FC LF BL BR FLC FRC  With front center left/right<br>
+
   8    FL FR FC LF BL BR FLC FRC  With front center left/right
note5 : in '-x264raw(tc)' with dither hack, output format needs to be
+
 
        interleaved(not stacked).
+
 
<br>
 
<br>
 
== Examples ==
 
== Examples ==
Line 118: Line 102:
 
== Changelog ==
 
== Changelog ==
 
  Version      Date            Changes<br>
 
  Version      Date            Changes<br>
 +
1.0.0        07/10/2016      - change avisynth_c.h to Avisynth+MT's avisynth.h.
 +
                              - change C99 to C++11.
 +
                              - change mingw-w64 to VisualC++2015.
 +
                              - drop Avisynth 2.5x support.
 +
                              - drop WindowsXP support.
 +
                              - drop x264bd and x264raw options.
 +
                              - add Avisynth+MT's new 16/32bit formats support.
 +
                              - add FFmpeg's extended Y4M formats output support.<br>
 
  0.4.2m        01/20/2013      - Add progress indicator for audio output(experimental)<br>  
 
  0.4.2m        01/20/2013      - Add progress indicator for audio output(experimental)<br>  
 
  0.4.1        03/14/2012      - Fix wrong error handling in '-x264raw(tc)'.<br>
 
  0.4.1        03/14/2012      - Fix wrong error handling in '-x264raw(tc)'.<br>
Line 139: Line 131:
 
  20110507      05/07/2011      - initial release
 
  20110507      05/07/2011      - initial release
 
<br>
 
<br>
 +
 +
== Archived Downloads ==
 +
{| class="wikitable" border="1"; width="500px"
 +
|-
 +
!!width="100px"| Version
 +
!!width="200px"| Download
 +
!!width="200px"| Mirror
 +
|-
 +
!v1.0.0
 +
|[http://github.com/chikuzen/avs2pipemod/releases/download/1.0.0/avs2pipemod-1.0.0.zip avs2pipemod-1.0.0.zip]
 +
|N/A
 +
|-
 +
!v0.4.2m
 +
|[http://www.mediafire.com/download/alg424t3kx7ak5d/avs2pipemod-0.4.2m.7z avs2pipemod-0.4.2m.7z]
 +
|N/A
 +
|}
 +
<br>
 +
  
 
== External Links ==
 
== External Links ==
Line 147: Line 157:
 
-----------------------------------------------
 
-----------------------------------------------
 
'''Back to [[Utilities]] &larr;'''
 
'''Back to [[Utilities]] &larr;'''
 +
[[Category:Utilities]]
 +
[[Category:Piping]]

Revision as of 12:25, 10 July 2016

Abstract
Author Chikuzen
Version 1.0.0
Download avs2pipemod-1.0.0.zip
Category Utilities
License GPLv3
Discussion Doom9 Thread


Contents

Description

Given an AviSynth script as input, avs2pipemod can send video, audio, or information of various types to stdout for consumption by command-line encoders or other tools. It is a continued development of avs2pipe. Thanks to Chris Beswick for releasing avs2pipe under GPL 3.0.

Differences compared to the original:

  • Display total elapsed time.
  • contents of 'info'
  • New option 'benchmark'.
  • New option 'trim'.
  • New option 'x264raw'
  • New option 'dumptxt'
  • 'y4mp', 'y4mt', 'y4mb' and 'rawvideo' options instead of 'video'.
  • FieldBased input will be corrected to framebased on yuv4mpeg2 output modes.
  • Colorspace conversion that takes colormatrix and interlace into consideration.
  • 'wav', 'extwav' and 'rawaudio' option instead of 'audio'.
  • Convert bit depth function in audio output mode.
  • Only the compilation with mingw/msys is supported.


Requirements


Usage

avs2pipemod  ver 1.0.0
built on Jul 10 2016 14:14:38
Usage: avs2pipemod [option] input.avs e.g. avs2pipemod -wav=24bit input.avs > output.wav avs2pipemod -y4mt=10:11 input.avs | x264 - --demuxer y4m -o tff.mkv avs2pipemod -rawvideo -trim=1000,0 input.avs > output.yuv
-wav[=8bit|16bit|24bit|32bit|float default unset] output wav format audio(WAVEFORMATEX) to stdout. if optional arg is set, audio sample type of input will be converted to specified value.
-extwav[=8bit|16bit|24bit|32bit|float default unset] output wav extensible format audio(WAVEFORMATEXTENSIBLE) containing channel-mask to stdout. if optional arg is set, audio sample type of input will be converted to specified value.
-rawaudio[=8bit|16bit|24bit|32bit|float default unset] output raw pcm audio(without any header) to stdout. if optional arg is set, audio sample type of input will be converted to specified value.
-y4mp[=sar default 0:0] output yuv4mpeg2 format video to stdout as progressive. -y4mt[=sar default 0:0] output yuv4mpeg2 format video to stdout as tff interlaced. -y4mb[=sar default 0:0] output yuv4mpeg2 format video to stdout as bff interlaced.
-rawvideo[=vflip default unset] output rawvideo(without any header) to stdout.
-info - output information about aviscript clip.
-benchmark - do benchmark aviscript, and output results to stdout.
-dumptxt - dump pixel values as tab separated text to stdout.
-trim[=first_frame,last_frame default 0,0] add Trim(first_frame,last_frame) to input script. in info, this option is ignored.
-y4mbits[=9/10/12/14/16 default 16] specify true bit depth of YUV4XXP16 this option is available only at the time of Y4M output
-dll[=path to avisynth.dll default "avisynth"] specify which avisynth .dll is used.
note1 : in yuv4mpeg2 output mode, RGB input that has 720pix height or more will be converted to YUV with Rec.709 coefficients instead of Rec.601.
note2 : in fact, it is a spec violation to use WAVEFORMATEX(-wav option) except 8bit/16bit PCM. however, there are some applications that accept such invalid files instead of supporting WAVEFORMATEXTENSIBLE.
note3 : '-extwav' supports only general speaker positions.
Chan. MS channels Description ----- ------------------------- ---------------- 1 FC Mono 2 FL FR Stereo 3 FL FR BC First Surround 4 FL FR BL BR Quadro 5 FL FR FC BL BR like Dpl II (without LFE) 6 FL FR FC LF BL BR Standard Surround 7 FL FR FC LF BL BR BC With back center 8 FL FR FC LF BL BR FLC FRC With front center left/right


Examples

TO DO

  • Dump pixel values[1].
#colorbars.avs
ColorBars(320, 240, "YV12").Trim(0, -1)
$ avs2pipemod -dumpyuv colorbars.avs > dump.txt



Changelog

Version       Date            Changes
1.0.0 07/10/2016 - change avisynth_c.h to Avisynth+MT's avisynth.h. - change C99 to C++11. - change mingw-w64 to VisualC++2015. - drop Avisynth 2.5x support. - drop WindowsXP support. - drop x264bd and x264raw options. - add Avisynth+MT's new 16/32bit formats support. - add FFmpeg's extended Y4M formats output support.
0.4.2m 01/20/2013 - Add progress indicator for audio output(experimental)
0.4.1 03/14/2012 - Fix wrong error handling in '-x264raw(tc)'.
0.4.0 03/04/2012 - Change '-dumpyuv' to '-dumptxt', and support all colorspaces.
0.3.0 02/17/2012 - Add new option '-dumpyuv'
0.2.1 01/30/2012 - Add new options '-x264raw', '-x264rawtc'.
0.1.2 01/28/2012 - Fix crash when importing invalid avs.
0.1.1 01/05/2012 - Rewrite code. - avs2pipemod detects avisynth version, and changes the actions. (thus, avs2pipe26mod was removed.) - avisynth.lib is unnecessary any longer. - win64 builds can also be compiled now.
20111130 11/30/200 - Port video output processing from latest avs2pipe.
20110919 09/19/2011 - Add new option 'trim'.
20110703-2 07/03/2011 - Changed -audio to -extwav.
20110703 07/03/2011 - Add new options '-wav' and '-extwav', and remove '-audio'. - '-wav' outputs audio with normal riff-wave header. - '-extwav' outputs audio with wave extensible header containing channel-mask.
20110510 05/10/2011 - Fix incorrect output of 'x264bd', and some modified. - Correct a bug in '-audio' and '-rawaudio'.
20110507 05/07/2011 - initial release


Archived Downloads

Version Download Mirror
v1.0.0 avs2pipemod-1.0.0.zip N/A
v0.4.2m avs2pipemod-0.4.2m.7z N/A



External Links




Back to Utilities

Personal tools