mirror of
https://github.com/amiaopensource/ffmprovisr.git
synced 2025-01-13 03:57:08 +01:00
Add PowerShell script entry; CSS for codeblock
This commit is contained in:
parent
64be8a7973
commit
d7fb2e1f81
@ -57,3 +57,12 @@ div {
|
|||||||
-webkit-transform: scale(1.3) translateZ(0);
|
-webkit-transform: scale(1.3) translateZ(0);
|
||||||
transform: scale(1.3) translateZ(0);
|
transform: scale(1.3) translateZ(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.codeblock {
|
||||||
|
font-family: monospace
|
||||||
|
padding:2px 4px;
|
||||||
|
font-size:90%;
|
||||||
|
color:#c7254e;
|
||||||
|
background-color:#f9f2f4;
|
||||||
|
border-radius:4px
|
||||||
|
}
|
||||||
|
48
index.html
48
index.html
@ -665,14 +665,14 @@
|
|||||||
<div class="well">
|
<div class="well">
|
||||||
<h4>Preservation</h4>
|
<h4>Preservation</h4>
|
||||||
|
|
||||||
<!-- batch processing -->
|
<!-- batch processing (Mac/Linux) -->
|
||||||
<span data-toggle="modal" data-target="#batch_processing"><button type="button" class="btn btn-default" data-toggle="tooltip" data-placement="bottom" title="FFMPEG batch processing within a single folder">Batch processing</button></span>
|
<span data-toggle="modal" data-target="#batch_processing_bash"><button type="button" class="btn btn-default" data-toggle="tooltip" data-placement="bottom" title="FFMPEG batch processing on Mac/Linux">Batch processing (Mac/Linux)</button></span>
|
||||||
<div id="batch_processing" class="modal fade" tabindex="-1" role="dialog">
|
<div id="batch_processing_bash" class="modal fade" tabindex="-1" role="dialog">
|
||||||
<div class="modal-dialog modal-lg">
|
<div class="modal-dialog modal-lg">
|
||||||
<div class="modal-content">
|
<div class="modal-content">
|
||||||
<div class="well">
|
<div class="well">
|
||||||
<h3>Create Bash script to batch process with ffmpeg</h3>
|
<h3>Create Bash script to batch process with ffmpeg</h3>
|
||||||
<p>Bash scripts are plain texts files saved with a .sh extension. This entry explains how they work with the example of a bash script named “Rewrap-MXF.sh”, which rewraps .MXF files in a given directory to .MOV files.</p>
|
<p>Bash scripts are plain text files saved with a .sh extension. This entry explains how they work with the example of a bash script named “Rewrap-MXF.sh”, which rewraps .MXF files in a given directory to .MOV files.</p>
|
||||||
<p>“Rewrap-MXF.sh” contains the following text:</p>
|
<p>“Rewrap-MXF.sh” contains the following text:</p>
|
||||||
<p><code>for file in *.MXF; do ffmpeg -i "$file" -map 0 -c copy "${file%.MXF}.mov"; done</code></p>
|
<p><code>for file in *.MXF; do ffmpeg -i "$file" -map 0 -c copy "${file%.MXF}.mov"; done</code></p>
|
||||||
<dl>
|
<dl>
|
||||||
@ -696,7 +696,45 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- ends batch processing -->
|
<!-- ends batch processing (Mac/Linux) -->
|
||||||
|
|
||||||
|
<!-- batch processing (Windows) -->
|
||||||
|
<span data-toggle="modal" data-target="#batch_processing_win"><button type="button" class="btn btn-default" data-toggle="tooltip" data-placement="bottom" title="FFMPEG batch processing on Windows">Batch processing (Windows)</button></span>
|
||||||
|
<div id="batch_processing_win" class="modal fade" tabindex="-1" role="dialog">
|
||||||
|
<div class="modal-dialog modal-lg">
|
||||||
|
<div class="modal-content">
|
||||||
|
<div class="well">
|
||||||
|
<h3>Create PowerShell script to batch process with ffmpeg</h3>
|
||||||
|
<p>PowerShell scripts are plain text files saved with a .ps1 extension.</p>
|
||||||
|
<p>This entry explains how they work with the example of a PowerShell script named “rewrap-mp4.ps1”, which rewraps .mp4 files in a given directory to .mkv files.</p>
|
||||||
|
<p>“rewrap-mp4.ps1” contains the following text:</p>
|
||||||
|
<pre class="codeblock"><code>$inputfiles = ls *.mp4
|
||||||
|
foreach ($file in $inputfiles) {
|
||||||
|
$output = [io.path]::ChangeExtension($file, '.mkv')
|
||||||
|
ffmpeg -i $file -map 0 -c copy $output
|
||||||
|
}</code></pre>
|
||||||
|
<dl>
|
||||||
|
<dt>$inputfiles = ls *.mp4</dt><dd>Creates the variable <code>$inputfiles</code>, which is a list of all the .mp4 files in the current folder.<br/>
|
||||||
|
In PowerShell, all variable names start with the dollar-sign character.</dd>
|
||||||
|
<dt>foreach ($file in $inputfiles)</dt><dd>Creates a loop and states the subsequent code block will be applied to each file listed in <code>$inputfiles</code>.<br/>
|
||||||
|
<code>$file</code> is an arbitrary variable which will represent each .mp4 file in turn as it is looped over.</dd>
|
||||||
|
<dt>{</dt><dd>Opens the code block.</dd>
|
||||||
|
<dt>$output = [io.path]::ChangeExtension($file, '.mkv')</dt><dd>Sets up the output file: it will be located in the current folder and keep its filename, but will have an .mkv extension instead of .mp4.</dd>
|
||||||
|
<dt>ffmpeg -i $file</dt><dd>carry out the following ffmpeg command for each input file.</dd>
|
||||||
|
<dt>-map 0</dt><dd>retain all streams</dd>
|
||||||
|
<dt>-c copy</dt><dd>enable stream copy (no re-encode)</dd>
|
||||||
|
<dt>$output</dt><dd>The output file is set to the value of the <code>$output</code> variable declared above: i.e., the current file name with an .mkv extension.</dd>
|
||||||
|
<dt>}</dt><dd>Closes the code block.</dd>
|
||||||
|
</dl>
|
||||||
|
<p><strong>Note</strong>: the PowerShell script (.ps1 file) and all .mp4 files to be rewrapped must be contained within the same directory, and the script must be run from that directory.<p>
|
||||||
|
<p>Execute the .ps1 file by typing <code>.\rewrap-mp4.ps1</code> in PowerShell.</p>
|
||||||
|
<p>Modify the script as needed to perform different transcodes, or to use with ffprobe. :)</p>
|
||||||
|
<p class="link"></p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- ends batch processing (Windows) -->
|
||||||
|
|
||||||
<!-- Create frame md5s -->
|
<!-- Create frame md5s -->
|
||||||
<span data-toggle="modal" data-target="#create_frame_md5s"><button type="button" class="btn btn-default" data-toggle="tooltip" data-placement="bottom" title="This will create an MD5 checksum per video frame">Create MD5 checksums</button></span>
|
<span data-toggle="modal" data-target="#create_frame_md5s"><button type="button" class="btn btn-default" data-toggle="tooltip" data-placement="bottom" title="This will create an MD5 checksum per video frame">Create MD5 checksums</button></span>
|
||||||
|
Loading…
Reference in New Issue
Block a user