Avs2pipemod

From Avisynth wiki
(Difference between revisions)
Jump to: navigation, search
(v1.0.0 [WIP])
m (v 1.1.1 update)
 
Line 1: Line 1:
 
{{Filter3
 
{{Filter3
 
| {{Author/Chikuzen}}
 
| {{Author/Chikuzen}}
| 1.0.0
+
| 1.1.1
| [http://github.com/chikuzen/avs2pipemod/releases avs2pipemod-1.0.0.zip]
+
| [http://github.com/chikuzen/avs2pipemod/releases avs2pipemod-1.1.1.zip]
 
| Utilities
 
| Utilities
 
| [http://www.gnu.org/licenses/gpl-3.0.txt GPLv3]
 
| [http://www.gnu.org/licenses/gpl-3.0.txt GPLv3]
Line 32: Line 32:
  
 
== Usage ==
 
== Usage ==
avs2pipemod  ver 1.0.0
+
<pre>avs2pipemod  ver 1.1.1
built on Jul 10 2016 14:14:38<br>
+
built on Aug 15 2016 00:32:12
Usage: avs2pipemod [option] input.avs
+
 
  e.g. avs2pipemod -wav=24bit input.avs > output.wav
+
Usage: avs2pipemod [option] input.avs
        avs2pipemod -y4mt=10:11 input.avs | x264 - --demuxer y4m -o tff.mkv
+
  e.g. avs2pipemod -wav=24bit input.avs > output.wav
        avs2pipemod -rawvideo -trim=1000,0 input.avs > output.yuv<br>
+
      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]
 
   -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.
 +
 
 
   -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.
 +
 
 
   -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.
 +
 
 
   -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.
Line 56: Line 61:
 
         output yuv4mpeg2 format video to stdout as tff interlaced.
 
         output yuv4mpeg2 format video to stdout as tff interlaced.
 
   -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.
 +
 
 
   -rawvideo[=vflip default unset]
 
   -rawvideo[=vflip default unset]
         output rawvideo(without any header) to stdout.<br>
+
         output rawvideo(without any header) to stdout.
   -info  - output information about aviscript clip.<br>
+
 
   -benchmark - do benchmark aviscript, and output results to stdout.<br>
+
   -info  - output information about aviscript clip.
   -dumptxt - dump pixel values as tab separated text to stdout.<br>
+
 
 +
  -filters - output external plugin filters/functions list to stdout.
 +
 
 +
   -benchmark - do benchmark avs script, and output results to stdout.
 +
 
 +
   -dumptxt - dump pixel values as tab separated text to stdout.
 +
 
 
   -trim[=first_frame,last_frame  default 0,0]
 
   -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.
  -y4mbits[=9/10/12/14/16 default 16]
+
 
        specify true bit depth of YUV4XXP16
+
   -dll[=path to avisynth.dll  default "avisynth"] specify which avisynth .dll is used.
        this option is available only at the time of Y4M output<br>
+
note1 : in yuv4mpeg2 output mode, RGB input that has 720pix height or more
   -dll[=path to avisynth.dll  default "avisynth"]
+
         will be converted to YUV with Rec.709 coefficients instead of Rec.601.
        specify which avisynth .dll is used.<br>
+
 
note1 : in yuv4mpeg2 output mode, RGB input that has 720pix height or more
+
note2 : in fact, it is a spec violation to use WAVEFORMATEX(-wav option)
         will be converted to YUV with Rec.709 coefficients instead of Rec.601.<br>
+
note2 : in fact, it is a spec violation to use WAVEFORMATEX(-wav option)
+
 
         except 8bit/16bit PCM.
 
         except 8bit/16bit PCM.
 
         however, there are some applications that accept such invalid files
 
         however, there are some applications that accept such invalid files
         instead of supporting WAVEFORMATEXTENSIBLE.<br>
+
         instead of supporting WAVEFORMATEXTENSIBLE.
note3 : '-extwav' supports only general speaker positions.<br>
+
 
 +
note3 : '-extwav' supports only general speaker positions.
 +
 
 
  Chan. MS channels                Description
 
  Chan. MS channels                Description
 
  ----- -------------------------  ----------------
 
  ----- -------------------------  ----------------
Line 86: Line 98:
 
   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
+
   8    FL FR FC LF BL BR FLC FRC  With front center left/right</pre>
  
 
<br>
 
<br>
Line 102: Line 114:
 
== Changelog ==
 
== Changelog ==
 
  Version      Date            Changes<br>
 
  Version      Date            Changes<br>
 +
1.1.1        08/13/2016      - support [[Avisynthplus_color_formats|AviSynth+ new pixel types]]
 +
                              - also add new option 'filters'<br>
 +
1.0.3        07/23/2016      - fix possibility of memory leaks
 +
                              - also add version resource<br>
 
  1.0.0        07/10/2016      - change avisynth_c.h to Avisynth+MT's avisynth.h.
 
  1.0.0        07/10/2016      - change avisynth_c.h to Avisynth+MT's avisynth.h.
 
                               - change C99 to C++11.
 
                               - change C99 to C++11.

Latest revision as of 04:27, 20 August 2019

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


Contents

[edit] 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.

[edit] 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.


[edit] Requirements


[edit] Usage

avs2pipemod  ver 1.1.1
built on Aug 15 2016 00:32:12

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.

   -filters - output external plugin filters/functions list to stdout.

   -benchmark - do benchmark avs script, 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.

   -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


[edit] Examples

TO DO

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



[edit] Changelog

Version       Date            Changes
1.1.1 08/13/2016 - support AviSynth+ new pixel types - also add new option 'filters'
1.0.3 07/23/2016 - fix possibility of memory leaks - also add version resource
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


[edit] 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



[edit] External Links




Back to Utilities

Personal tools