User Tools

Site Tools


variables:inbuilt_variables

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
variables:inbuilt_variables [2020/04/21 13:54] – [2.File Variables] benjaminvariables:inbuilt_variables [2024/03/20 21:20] (current) emcodem
Line 29: Line 29:
 Variables are generally populated on the fly when needed. Variables are generally populated on the fly when needed.
  
-{{:variables:populated_variable.jpg?nolink&1000|}}+{{:variables:populated_variable_1.2.png?nolink&1000|}}
  
 You can call all these generic inbuilt variables when you want and insert it by pressing the arrow-button next to a text field. All fields that has an arrow next to it supports variables. You can call all these generic inbuilt variables when you want and insert it by pressing the arrow-button next to a text field. All fields that has an arrow next to it supports variables.
Line 40: Line 40:
 Media properties are derived from the original input file. Different types of media can contain different kind of properties Media properties are derived from the original input file. Different types of media can contain different kind of properties
  
-=== Video Audio Variables ===+=== Video And Audio Variables ===
 {{:variables:oeil.jpg?nolink&50 |}}{{ :variables:oreille.jpg?nolink&50 |}} {{:variables:oeil.jpg?nolink&50 |}}{{ :variables:oreille.jpg?nolink&50 |}}
  
-Video Variables<html>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</html>Audio Variables+
 |< 100% 17% 33%>| |< 100% 17% 33%>|
  
Line 51: Line 51:
 |**%s_pixel_format%**|Pixel format of first video stream (yuv422p).|**%i_a_channels%**|Total number of audio channels (2).| |**%s_pixel_format%**|Pixel format of first video stream (yuv422p).|**%i_a_channels%**|Total number of audio channels (2).|
 |**%f_frame_rate%**|Frames per second (29.97).|**%i_a_sample_rate%**|Audio sample rate of first audio stream(48000).| |**%f_frame_rate%**|Frames per second (29.97).|**%i_a_sample_rate%**|Audio sample rate of first audio stream(48000).|
 +|**%s_frame_rate%**|Frames per second represented as num/den (30000/1001).|**%s_dbe_layout%**|Json formatted audio layout including Dolby E after full decode.|
 |**%s_v_codec%**|Codec of first video stream (mpeg2video).|**%s_a_codec%**|Codec of first audio stream (pcm_s16le).| |**%s_v_codec%**|Codec of first video stream (mpeg2video).|**%s_a_codec%**|Codec of first audio stream (pcm_s16le).|
-|**%s_v_profile%**|The profile of the first video stream.|**%s_a_profile%**|The profile of the first audio stream.|+|**%s_v_profile%**|The profile of the first video stream.|**%s_a_codec_long%**|Long codec name of first audio stream (Advanced Audio Codec).|
 |**%i_v_first%**|Stream number of the first video stream.|**%i_a_first%**|Stream number of the first audio stream.| |**%i_v_first%**|Stream number of the first video stream.|**%i_a_first%**|Stream number of the first audio stream.|
-|**%s_pix_aspect%**|Pixel aspect of the first video stream (16:9).|**%i_tot_channels%**|The total number of audio channels.|+|**%s_pix_aspect%**|Pixel aspect of the first video stream (1:1).|**%i_tot_channels%**|The total number of audio channels.|
 |**%f_duration%**|Media length in seconds (137.48).|**%f_duration%**|Media length in seconds (137.48).| |**%f_duration%**|Media length in seconds (137.48).|**%f_duration%**|Media length in seconds (137.48).|
 |**%i_interlace%**|Field domination(0=Progressive, 1=Upper, 2=Lower (1)).|**%s_a_layout%**|Return audio layout as array. First instance is number of channels in first audio stream, etc.| |**%i_interlace%**|Field domination(0=Progressive, 1=Upper, 2=Lower (1)).|**%s_a_layout%**|Return audio layout as array. First instance is number of channels in first audio stream, etc.|
 |**%s_date_created%**|Creation date of media (2015-15-11 21:16:33).|**%s_date_created%**|Creation date of media (2015-15-11 21:16:33).| |**%s_date_created%**|Creation date of media (2015-15-11 21:16:33).|**%s_date_created%**|Creation date of media (2015-15-11 21:16:33).|
 +|**%i_v_bit_depth%**|Bit depth of first video stream (10).|**%s_a_profile%**|The profile of the first audio stream.|
 +|**%i_dheight**|Display height of the codec video.|**%i_has_cover**|Return 1 if audio file has cover image.|
 +|**%i_dwidth**|Display width of the codec video.|**%i_has_dolbye**|Checks if source media has Dolby E content.|
  
 {{:variables:oeil.jpg?nolink&50 |}}\\ {{:variables:oeil.jpg?nolink&50 |}}\\
  
-Video Variables\\+Video Variables Only\\
  
 |< 100% 50% 50%>| |< 100% 50% 50%>|
Line 67: Line 71:
 |**%i_width%**|Media video width of first video stream (1920).| |**%i_width%**|Media video width of first video stream (1920).|
 |**%s_v_codec_long%**|Long codec name of first video stream (Windows Media Video 2).| |**%s_v_codec_long%**|Long codec name of first video stream (Windows Media Video 2).|
-|**%s_disp_aspect%**|Display aspect of the first video stream (1:1).|+|**%s_disp_aspect%**|Display aspect of the first video stream (16:9).| 
 +|**%s_chroma_loc%**|Location of the first chroma sample (Upper left).|
 |**%s_color_space%**|Color space of the first video.| |**%s_color_space%**|Color space of the first video.|
 |**%s_color_trans%**|Color transfer of the first video.| |**%s_color_trans%**|Color transfer of the first video.|
Line 73: Line 78:
 |**%s_color_range%**|Color range of the first video.| |**%s_color_range%**|Color range of the first video.|
 |**%i_intra%**|Checks if media is intra frame based. Return 1 if true, 0 otherwise.| |**%i_intra%**|Checks if media is intra frame based. Return 1 if true, 0 otherwise.|
 +|**%i_gamma%**|Gamma curve applied during encoding (Slog3).|
 |**%i_rotation%**|Find the rotation/orientation of the source media.| |**%i_rotation%**|Find the rotation/orientation of the source media.|
 |**%s_duration_tc%**|Media duration as time code (00:05:10:12).| |**%s_duration_tc%**|Media duration as time code (00:05:10:12).|
Line 82: Line 88:
 |**%i_stc_ff%**|Start frame from TC.| |**%i_stc_ff%**|Start frame from TC.|
 |**%s_start_tc%**|Start TC of Media (01:13:48:20).| |**%s_start_tc%**|Start TC of Media (01:13:48:20).|
 +|**%s_start_tc_alt%**|Alternative start TC based on creation time. NOT frame accurate.|
 +|**%f_pix_aspect%**|The calculated aspect from denum/num (1.4222).|
 +|**%f_v_tbase%**|The time base of the source video returned as float.|
 +|**%i_xoffset%**|Start position of display width.|
 +|**%i_yoffset%**|Start position of display height.|
 +|**%i_v_precharge%**|Return number of pre-charge frames if available.|
  
 +**%s_last_enc_cmd%**
  
 +The latest calculated 
  
 Metadata Variables Metadata Variables
Line 114: Line 128:
 |**%s_original_name%**|Original filename without extension and path.| |**%s_original_name%**|Original filename without extension and path.|
 |**%s_original_path%**|Path of original file.| |**%s_original_path%**|Path of original file.|
-|**%s_original_folder%**|Path of original without drive or UNC.| 
 |**%s_original_path~n%**|Folder name n-steps backwards.| |**%s_original_path~n%**|Folder name n-steps backwards.|
 +|**%s_original_folder%**|Path of original without drive or UNC.|
 |**%i_original_size%**|File size of original in bytes.| |**%i_original_size%**|File size of original in bytes.|
 |**%s_original_date%**|Creation date of original file (YYYY-MM-DD_hh-mm-ss).| |**%s_original_date%**|Creation date of original file (YYYY-MM-DD_hh-mm-ss).|
Line 124: Line 138:
 |**%i_original_min%**|Creation minute of original file.| |**%i_original_min%**|Creation minute of original file.|
 |**%i_original_sec%**|Creation second of original file.| |**%i_original_sec%**|Creation second of original file.|
 +|**%s_original_root%**|Valid drive or UNC server path of the original file.|
 |**%s_original_drive%**|Drive or UNC server of the original file.| |**%s_original_drive%**|Drive or UNC server of the original file.|
 |**%s_recursed_path%**|Path of original without drive/UNC, monitored path and filename.| |**%s_recursed_path%**|Path of original without drive/UNC, monitored path and filename.|
Line 131: Line 146:
  
  
-***Note** : %%The %s_pickup_file% is ALWAYS the file that's being picked up by monitors, hence its name. But, this might be just a link to another file. Consider the case of for example a "c:\shortcut.lnk" file. This file just point to another file, say "\\server\share\cool.mp4"%%+<note> : %%The %s_pickup_file% is ALWAYS the file that's being picked up by monitors, hence its name. But, this might be just a link to another file. Consider the case of for example a "c:\shortcut.lnk" file. This file just point to another file, say "\\server\share\cool.mp4"%%</note>
  
 This gives us the following different contents of the two variables:\\ This gives us the following different contents of the two variables:\\
Line 161: Line 176:
  
 |< 100% 15% 75% >| |< 100% 15% 75% >|
 +|**%i_gmt_bias%**|Returns the local GMT bias (-1).|
 |**%i_year%**|Full year (2020).| |**%i_year%**|Full year (2020).|
 |**%i_yr%**|Short year (20).| |**%i_yr%**|Short year (20).|
Line 188: Line 204:
 |**%s_job_id%**|GUID identifier for the current job (20160219-202314-181-4693BFCC0A72).| |**%s_job_id%**|GUID identifier for the current job (20160219-202314-181-4693BFCC0A72).|
 |**%s_job_work%**|Work folder for the current job (D:\_ffas_workroot\2015052120481\20160219-202314-181-4693BFCC0A72).| |**%s_job_work%**|Work folder for the current job (D:\_ffas_workroot\2015052120481\20160219-202314-181-4693BFCC0A72).|
 +|**%i_job_priority%**|Priority of the current running job.|
 |**%s_wf_id%**|Identifier for the current workflow (20150521204819).| |**%s_wf_id%**|Identifier for the current workflow (20150521204819).|
 |**%s_wf_name%**|Name of the current workflow (Untitled).| |**%s_wf_name%**|Name of the current workflow (Untitled).|
 +|**%s_wf_folder%**|Folder name of the current workflow.|
 +|**%s_split_id%**|Split/branch id of the current running job.|
 |**%s_node_name%**|Name of the current working processor node (XDCAM-HD).| |**%s_node_name%**|Name of the current working processor node (XDCAM-HD).|
-|**%s_source%**|Full path to the file work file passed by FFAStrans processors. 4'th level source. Any file set as current input/output source for processors'|+|[[variables:Inbuilt_variables#special_variables|%s_source%]] |Full path to the file work file passed by FFAStrans processors. 4'th level source. Any file set as current input/output source for processors'|
 |**%s_root_work%**|Path to the global root work directory.| |**%s_root_work%**|Path to the global root work directory.|
 |**%s_ffastrans_dir%**|Path to the local FFAStrans.exe file.| |**%s_ffastrans_dir%**|Path to the local FFAStrans.exe file.|
Line 200: Line 219:
 |**%s_cache_record%**|Full path to the cache history record file created by the monitors.| |**%s_cache_record%**|Full path to the cache history record file created by the monitors.|
 |**%s_source_dir%**|Path to the files passed by some FFAStrans processors.| |**%s_source_dir%**|Path to the files passed by some FFAStrans processors.|
 +|**%s_version%**|Version of the current running FFAStrans.|
 +|**%s_last_error%**|Retrieve last viable error message.|
  
 ---- ----
 +
  
 ===== Special Variables  ===== ===== Special Variables  =====
Line 207: Line 229:
 There is currently one variable that behave a bit different than others: There is currently one variable that behave a bit different than others:
  
-**%s_original_path~n%** = Folder name n-steps backwards.+**%s_original_path~n%** = Folder name n-steps backwards. (This variable supports minus notation for retrieving path names from the right side.)
  
-{{:variables:original_path.jpg?nolink&600|}}+{{variables:ffastrans_original_path_v2.png?nolink&800|}}
  
  
 **%s_source%** represent the input file for any processor. It can be altered using the "Populate variables"-node. **%s_source%** represent the input file for any processor. It can be altered using the "Populate variables"-node.
  
-{{:variables:source_tuto.jpg?nolink&1200|}}+{{:variables:source_tutorial_m1.png?nolink&1200|}}
  
 **%s_success%** represent the success message upon job completion. It can be altered using the "Populate variables"-node.\\ **%s_success%** represent the success message upon job completion. It can be altered using the "Populate variables"-node.\\
Line 222: Line 244:
  
 {{:variables:success_variable.png?nolink&800|}} {{:variables:success_variable.png?nolink&800|}}
 +
 +
 +**%s_options%** (since FFAStrans 1.4) advanced users can force special behaviour. 
 +
 +Mostly used by advanced users to change the encoding commands of internal encode processors to specific needs.
 +You can enable/disable options by setting %s_options% to some value using a populate vars processor. Setting one a single option will not change possible existing options.
 +
 +Note that **skip_encoding=True|save_enc_cmd=True** can be used to "not encode" but just calculate some encoding command string which you can change to your needs.
 +
 +
 +^ Heading 1      ^ Heading 2      ^   
 +|skip_encoding |Option to skip encoding in encoding nodes - used to retrieve the calculated encoding cmd in combination with save_enc_cmd|
 +|proc_execute |Don't execute procs when false|
 +|save_enc_cmd |Option to save ffmpeg processing and filter chains to variables|
 +|allow_text_source |Option to turn the string in s_source into a text file|
 +|end_branch |Option to end the current branch even if there are subsequent nodes|
 +|dispel_branch |Option to end the current branch even if there are subsequent nodes and hide from history|
 +|emulate_crash |none,mem,bounds,var,obj,halt,recurse,stress, null, Option to emulate node crash. For testing purpose only!|
 +|allow_afuncs |Allow using native AutoIT functions in the populate and conditional node.|
 +|encode_errors |Stop and error on known encoding andomalies resulting in a complete but incompatible file.|
 +|afilters |Add extra ffmpeg audio filters at the end of filter chain per stream.|
 +|apre_filters |Add extra ffmpeg audio filters at the start of filter chain per stream.|
 +|apost_filters |Add extra ffmpeg audio filters at the end of filter chain per stream.|
 +|vfilters |Add extra ffmpeg video filters at the end of filter chain.|
 +|vpre_filters |Add extra ffmpeg video filters at the start of filter chain.|
 +|vpost_filters |Add extra ffmpeg video filters at the end of filter chain.|
 +|enc_pre_input |Add extra ffmpeg arguments before input specifier.|
 +|enc_pre_output |Add extra ffmpeg arguments before output specifier.|
 +
 +
 +**%s_last_enc_cmd%**
 +
 +Read only variable for retrieving the latest internally ffmpeg encoding command (after some encode processor)
 +
 ----- -----
  
Line 261: Line 317:
          
  
- + <note> : Each time you create or modify a user variable, an archive file is created. You can retrieve the history of your variables from the folder : \\  
 + %FFAStrans install directory%\Processors\db\configs\archive\user_variables</note> 
  
 __**Static User Variable**__ : This is another kind of variable. Unlike other variables, static variables are always written with upper case.Creating statics are very handy for example representing a very long path in a short static.\\ __**Static User Variable**__ : This is another kind of variable. Unlike other variables, static variables are always written with upper case.Creating statics are very handy for example representing a very long path in a short static.\\
Line 270: Line 328:
 Example 2 :\\ Example 2 :\\
  
-{{:variables:static1_v.jpg?nolink&500|}}+{{variables:static_variable.png?nolink&500|}}
  
 In this example we have several monitor folder nodes with the same input folder.Only accept files or deny files are different.\\ In this example we have several monitor folder nodes with the same input folder.Only accept files or deny files are different.\\
variables/inbuilt_variables.1587477283.txt.gz · Last modified: 2020/11/16 19:08 (external edit)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki