VideoResolution.dll-Help.xml

<?xml version="1.0" encoding="utf-8" ?>
<helpItems xmlns="http://msh" schema="maml">
    <command:command
      xmlns:maml="http://schemas.microsoft.com/maml/2004/10"
      xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10"
      xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10"
      xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
        <command:details>
            <command:name>Get-VideoResolution</command:name>
            <command:verb>Get</command:verb>
            <command:noun>VideoResolution</command:noun>
            <maml:description>
                <maml:para>
                    Probe video files for their resolution and output results to the host and optionally to log files.
                </maml:para>
            </maml:description>
        </command:details>
        <maml:description>
            <maml:para>
                Uses ffmpeg (ffprobe) to interrogate video files and retrieve the resolution and file size. ffmpeg must be installed.
            </maml:para>
            <maml:para>
                Can be run against:
            </maml:para>
            <maml:para>
                &gt; all files in an input directory supplied as an InputDirectory parameter.
            </maml:para>
            <maml:para>
                &gt; a file using the File parameter. This can be a file name in the current directory, a relative path,
                a full path, or a filename used in conjunction with the InputDirectory parameter.
            </maml:para>
            <maml:para>
                &gt; a collection of files piped into the module (note: this expects correct paths and won't use the InputDirectory parameter).
            </maml:para>
            <maml:para>
                Outputs the results to the host in 2 ordered lists, firstly by resolution and secondly by file name.
            </maml:para>
            <maml:para>
                Results can also be output to log and json files if an OutputDirectory is supplied as a parameter.
                A text log file is created that is a duplicate of the standard results written to the host.
                A json file is created with an array representation of the VideoInfo class.
            </maml:para>
        </maml:description>
        <command:parameters>
            <command:parameter required="false" pipelineInput="false" variableLength="true" position="0" aliases="D">
                <maml:name>InputDirectory</maml:name>
                <maml:description>
                    <maml:para>
                        Optional. If supplied this is the path used to find video files to process. If used in conjunction with the File
                        parameter then this path will be joined to the file provided.
                    </maml:para>
                </maml:description>
                <command:parameterValue required="false" variableLength="true">String</command:parameterValue>
                <dev:type>String</dev:type>
                <dev:defaultValue>Current directory</dev:defaultValue>
            </command:parameter>
            <command:parameter required="false" pipelineInput="false" variableLength="true" position="0" aliases="D">
                <maml:name>OutputDirectory</maml:name>
                <maml:description>
                    <maml:para>
                        Optional. If supplied this is the path used to write text and json data files.
                    </maml:para>
                </maml:description>
                <command:parameterValue required="false" variableLength="true">String</command:parameterValue>
                <dev:type>String</dev:type>
                <dev:defaultValue>Current directory</dev:defaultValue>
            </command:parameter>
            <command:parameter required="false" pipelineInput="false" variableLength="false" aliases="F">
                <maml:name>File</maml:name>
                <maml:description>
                    <maml:para>
                        Optional. If supplied, this file will be processed. Must be a file in the current directory, a relative path, a full
                        path, or a filename used in conjunction with the InputDirectory parameter.
                    </maml:para>
                </maml:description>
                <command:parameterValue required="false" variableLength="false">String</command:parameterValue>
                <dev:type>String</dev:type>
            </command:parameter>
            <command:parameter required="false" pipelineInput="true" variableLength="true" aliases="none">
                <maml:name>Files</maml:name>
                <maml:description>
                    <maml:para>
                        Optional. Accepted as piped input. If supplied, all files in this string array will be processed. Each file must be
                        in the current directory, a relative path, or a full path. Will be ignored if used in conjunction with the
                        InputDirectory parameter.
                    </maml:para>
                </maml:description>
                <command:parameterValue required="false" variableLength="true">String[]</command:parameterValue>
                <dev:type>String[]</dev:type>
                <dev:defaultValue>None</dev:defaultValue>
            </command:parameter>
            <command:parameter required="false" pipelineInput="false" variableLength="true">
                <maml:name>Recursive</maml:name>
                <maml:description>
                    <maml:para>
                        Optional. If supplied along with an input directory, all sub-directories will also be searched for video files.
                    </maml:para>
                </maml:description>
                <command:parameterValue required="false" variableLength="true">SwitchParameter</command:parameterValue>
                <dev:type>SwitchParameter</dev:type>
                <dev:defaultValue>None</dev:defaultValue>
            </command:parameter>
            <command:parameter required="false" pipelineInput="false" variableLength="true">
                <maml:name>Json</maml:name>
                <maml:description>
                    <maml:para>
                        Optional. If supplied json will be returned instead of the standard output.
                    </maml:para>
                </maml:description>
                <command:parameterValue required="false" variableLength="true">SwitchParameter</command:parameterValue>
                <dev:type>SwitchParameter</dev:type>
                <dev:defaultValue>None</dev:defaultValue>
            </command:parameter>
            <command:parameter required="false" pipelineInput="false" variableLength="true">
                <maml:name>PSObject</maml:name>
                <maml:description>
                    <maml:para>
                        Optional. If supplied a PsObject will be returned instead of the standard output.
                    </maml:para>
                </maml:description>
                <command:parameterValue required="false" variableLength="true">SwitchParameter</command:parameterValue>
                <dev:type>SwitchParameter</dev:type>
                <dev:defaultValue>None</dev:defaultValue>
            </command:parameter>
        </command:parameters>
        <command:examples>
            <command:example>
                <maml:title>Example 1: Process the supplied file using the current directory</maml:title>
                <dev:code>PS C:\Videos\> Get-VideoResolution -File "ExampleFile.mkv"</dev:code>
                <dev:remarks>
                    <maml:para>
                        Process the supplied file using the current directory.
                    </maml:para>
                </dev:remarks>
            </command:example>
            <command:example>
                <maml:title>Example 2: All files in the supplied input directory, writing json and log files to the supplied output directory.</maml:title>
                <dev:code>PS C:\> Get-VideoResolution -InputDirectory "C:\Videos" -OutputDirectory "C:\Videos\Logs"</dev:code>
                <dev:remarks>
                    <maml:para>
                        All files in the supplied input directory (C:\Videos) will be processed. Json and log files will be written to the specified output directory (C:\Videos\Logs).
                    </maml:para>
                </dev:remarks>
            </command:example>
            <command:example>
                <maml:title>Example 3: Process the supplied file using the supplied input directory</maml:title>
                <dev:code>PS C:\Videos\> Get-VideoResolution -File "ExampleFile.mkv" -InputDirectory "C:\Videos"</dev:code>
                <dev:remarks>
                    <maml:para>
                        Process the supplied file using the supplied input directory.
                    </maml:para>
                </dev:remarks>
            </command:example>
            <command:example>
                <maml:title>Example 4: Process the supplied file with path</maml:title>
                <dev:code>PS C:\Videos\> Get-VideoResolution -File "C:\Videos\ExampleFile.mkv"</dev:code>
                <dev:remarks>
                    <maml:para>
                        Process the supplied file with the specified path (C:\Videos\ExampleFile.mkv).
                    </maml:para>
                </dev:remarks>
            </command:example>
            <command:example>
                <maml:title>Example 5: Process the supplied file and return json</maml:title>
                <dev:code>PS C:\Videos\> Get-VideoResolution -File "C:\Videos\ExampleFile.mkv" -Json</dev:code>
                <dev:remarks>
                    <maml:para>
                        Process the supplied file and return the results in JSON format.
                    </maml:para>
                </dev:remarks>
            </command:example>
            <command:example>
                <maml:title>Example 6: Process the supplied file and return a PSObject</maml:title>
                <dev:code>PS C:\Videos\> Get-VideoResolution -File "C:\Videos\ExampleFile.mkv" -PSObject</dev:code>
                <dev:remarks>
                    <maml:para>
                        Process the supplied file and return the results as a PSObject.
                    </maml:para>
                </dev:remarks>
            </command:example>
            <command:example>
                <maml:title>Example 7: Process the piped files array, writing json and log files to the supplied output directory.</maml:title>
                <dev:code>PS C:\> "C:\Videos\ExampleFile1.mkv","C:\Videos\ExampleFile2.mkv" | Get-VideoResolution -OutputDirectory "C:\Videos\Logs"</dev:code>
                <dev:remarks>
                    <maml:para>
                        Process the piped array of files (C:\Videos\ExampleFile1.mkv and C:\Videos\ExampleFile2.mkv). Json and log files will be written to the specified output directory (C:\Videos\Logs).
                    </maml:para>
                </dev:remarks>
            </command:example>
        </command:examples>
        <maml:relatedLinks>
            <maml:navigationLink>
                <maml:linkText>https://github.com/trossr32/ps-video-resolution</maml:linkText>
            </maml:navigationLink>
        </maml:relatedLinks>
    </command:command>
</helpItems>