mirror of
https://github.com/amiaopensource/ffmprovisr.git
synced 2025-10-24 22:50:51 +02:00
Compare commits
11 Commits
v2023-08-0
...
v2025-04-1
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b8eeeb88b8 | ||
|
|
bb4cc16b8e | ||
|
|
4c8f63b05f | ||
|
|
f57e2d443a | ||
|
|
fc2cd7f23e | ||
|
|
e46bdc189a | ||
|
|
8ea516d0a0 | ||
|
|
afe768d1df | ||
|
|
f16406504d | ||
|
|
7629b26417 | ||
|
|
f3d98bc712 |
23
index.html
23
index.html
@@ -47,11 +47,11 @@
|
||||
<h2 class="heading" id="about">About ffmprovisr</h2>
|
||||
<h3>Making FFmpeg Easier</h3>
|
||||
<p>FFmpeg is a powerful tool for manipulating audiovisual files. Unfortunately, it also has a steep learning curve, especially for users unfamiliar with a command line interface. This app helps users through the command generation process so that more people can reap the benefits of FFmpeg.</p>
|
||||
<p>Each button displays helpful information about how to perform a wide variety of tasks using FFmpeg. To use this site, click on the task you would like to perform. A new window will open up with a sample command and a description of how that command works. You can copy this command and understand how the command works with a breakdown of each of the flags.</p>
|
||||
<p>Each button displays helpful information about how to perform a wide variety of tasks using FFmpeg. To use this site, click on the task you would like to perform. You will jump to a single command or a list of related commands. Click on a command description, and the site will display a sample command as well as an explanation of how that command works with a breakdown of each of its flags (or options).</p>
|
||||
<p>This page does not have search functionality, but you can open all recipes (second option in the sidebar) and use your browser's search tool (often ctrl+f or cmd+f) to perform a keyword search through all recipes.</p>
|
||||
<h3>Tutorials</h3>
|
||||
<p>For FFmpeg basics, check out the program’s <a href="https://ffmpeg.org/" target="_blank">official website</a>.</p>
|
||||
<p>For instructions on how to install FFmpeg on Mac, Linux, and Windows, refer to Reto Kromer’s <a href="https://avpres.net/FFmpeg/#ch1" target="_blank">installation instructions</a>.</p>
|
||||
<p>For instructions on how to install FFmpeg on macOS, Linux, and Windows, refer to Reto Kromer’s <a href="https://avpres.net/FFmpeg/#ch1" target="_blank">installation instructions</a>.</p>
|
||||
<p>For Bash and command line basics, try the <a href="https://learnpythonthehardway.org/book/appendixa.html" target="_blank">Command Line Crash Course</a>. For a little more context presented in an ffmprovisr style, try <a href="https://explainshell.com/" target="_blank">explainshell.com</a>!</p>
|
||||
<h3>License</h3>
|
||||
<p class="license">
|
||||
@@ -680,22 +680,23 @@
|
||||
</div>
|
||||
<!-- ends SD to HD -->
|
||||
|
||||
<!-- Change display aspect ratio without re-encoding video-->
|
||||
<!-- Change display aspect ratio without re-encoding -->
|
||||
<label class="recipe" for="change_DAR">Change display aspect ratio without re-encoding</label>
|
||||
<input type="checkbox" id="change_DAR">
|
||||
<div class="hiding">
|
||||
<h5>Change Display Aspect Ratio without re-encoding video</h5>
|
||||
<p><code>ffmpeg -i <em>input_file</em> -c:v copy -aspect 4:3 <em>output_file</em></code></p>
|
||||
<h5>Change Display Aspect Ratio without re-encoding</h5>
|
||||
<p><code>ffmpeg -i <em>input_file</em> -c:a copy -c:v copy -aspect 4:3 <em>output_file</em></code></p>
|
||||
<dl>
|
||||
<dt>ffmpeg</dt><dd>starts the command</dd>
|
||||
<dt>-i <em>input_file</em></dt><dd>path, name and extension of the input file</dd>
|
||||
<dt>-c:a copy</dt><dd>Copy all mapped audio streams.</dd>
|
||||
<dt>-c:v copy</dt><dd>Copy all mapped video streams.</dd>
|
||||
<dt>-aspect 4:3</dt><dd>Change Display Aspect Ratio to <code>4:3</code>. Experiment with other aspect ratios such as <code>16:9</code>. If used together with <code>-c:v copy</code>, it will affect the aspect ratio stored at container level, but not the aspect ratio stored in encoded frames, if it exists.</dd>
|
||||
<dt><em>output_file</em></dt><dd>path, name and extension of the output file</dd>
|
||||
</dl>
|
||||
<p class="link"></p>
|
||||
</div>
|
||||
<!-- ends Change display aspect ratio without re-encoding video -->
|
||||
<!-- ends Change display aspect ratio without re-encoding -->
|
||||
|
||||
<!-- Convert colorspace -->
|
||||
<label class="recipe" for="convert-colorspace">Convert colorspace of video</label>
|
||||
@@ -1505,7 +1506,7 @@
|
||||
<dt>-i <em>input_file</em></dt><dd>path, name and extension of the input file</dd>
|
||||
<dt>-filter:v idet</dt><dd>This calls the <a href="https://ffmpeg.org/ffmpeg-filters.html#idet" target="_blank">idet (detect video interlacing type) filter</a>.</dd>
|
||||
<dt>-f null</dt><dd>Video is decoded with the <code>null</code> muxer. This allows video decoding without creating an output file.</dd>
|
||||
<dt>-</dt><dd>FFmpeg syntax requires a specified output, and <code>-</code> is just a place holder. No file is actually created.</dd>
|
||||
<dt>-</dt><dd>The FFmpeg syntax requires a specified output, and <code>-</code> prints the output to the screen (STDOUT), rather than creating a file.</dd>
|
||||
</dl>
|
||||
<p class="link"></p>
|
||||
</div>
|
||||
@@ -2021,7 +2022,7 @@
|
||||
<dt>ffmpeg</dt><dd>starts the command</dd>
|
||||
<dt>-i <em>input_file</em></dt><dd>path, name and extension of the input file</dd>
|
||||
<dt>-f null</dt><dd>Video is decoded with the <code>null</code> muxer. This allows video decoding without creating an output file.</dd>
|
||||
<dt>-</dt><dd>FFmpeg syntax requires a specified output, and <code>-</code> is just a place holder. No file is actually created.</dd>
|
||||
<dt>-</dt><dd>The FFmpeg syntax requires a specified output, and <code>-</code> prints the output to the screen (STDOUT), rather than creating a file.</dd>
|
||||
</dl>
|
||||
<p class="link"></p>
|
||||
</div>
|
||||
@@ -2040,7 +2041,7 @@
|
||||
<dt>-report</dt><dd>Dump full command line and console output to a file named <em>ffmpeg-YYYYMMDD-HHMMSS.log</em> in the current directory. It also implies <code>-loglevel verbose</code>.</dd>
|
||||
<dt>-i <em>input_file</em></dt><dd>path, name and extension of the input file</dd>
|
||||
<dt>-f null</dt><dd>Video is decoded with the <code>null</code> muxer. This allows video decoding without creating an output file.</dd>
|
||||
<dt>-</dt><dd>FFmpeg syntax requires a specified output, and <code>-</code> is just a place holder. No file is actually created.</dd>
|
||||
<dt>-</dt><dd>The FFmpeg syntax requires a specified output, and <code>-</code> prints the output to the screen (STDOUT), rather than creating a file.</dd>
|
||||
</dl>
|
||||
<p class="link"></p>
|
||||
</div>
|
||||
@@ -2127,7 +2128,7 @@
|
||||
<dt>-i <em>input_file</em></dt><dd>path, name and extension of the input file</dd>
|
||||
<dt>-map 0:v:0</dt><dd>designated the first video stream as the stream on which to perform this hash generation operation. <code>-map 0</code> can be used to run the operation on all streams.</dd>
|
||||
<dt>-f hash -hash md5</dt><dd>produce a checksum hash, and set the hash algorithm to md5. See the official <a href="https://ffmpeg.org/ffmpeg-formats.html#hash" target="_blank">documentation on hash</a> for other algorithms.</dd>
|
||||
<dt>-</dt><dd>FFmpeg syntax requires a specified output, and <code>-</code> is just a place holder. No file is actually created.</dd>
|
||||
<dt>-</dt><dd>The FFmpeg syntax requires a specified output, and <code>-</code> prints the output to the screen (STDOUT), rather than creating a file.</dd>
|
||||
</dl>
|
||||
<p class="link"></p>
|
||||
</div>
|
||||
@@ -2147,7 +2148,7 @@
|
||||
<dt>-i <em>input_file</em></dt><dd>path, name and extension of the input file</dd>
|
||||
<dt>-map 0</dt><dd>map ALL streams from input file to output. If you omit this, ffmpeg chooses only the first "best" (*) stream: 1 for audio, 1 for video (not all streams).</dd>
|
||||
<dt>-f streamhash -hash md5</dt><dd>produce a checksum hash per-stream, and set the hash algorithm to md5. See the official <a href="https://www.ffmpeg.org/ffmpeg-formats.html#streamhash-1" target="_blank">documentation on streamhash</a> for other algorithms and more details.</dd>
|
||||
<dt>-</dt><dd>FFmpeg syntax requires a specified output, and <code>-</code> is just a place holder. No file is actually created. Choose an output filename to write the hashcode lines into a textfile.</dd>
|
||||
<dt>-</dt><dd>The FFmpeg syntax requires a specified output, and <code>-</code> prints the output to the screen (STDOUT), rather than creating a file. Choose an output filename to write the hashcode lines into a textfile.</dd>
|
||||
<dt>-v quiet</dt><dd>(Optional) Disables FFmpeg's processing output. With this option it's easier to see the text output of the hashes.</dd>
|
||||
</dl>
|
||||
<p>The output looks like this, for example (1 video, 2 audio streams):
|
||||
|
||||
@@ -37,7 +37,7 @@ ffmpeg -i input_file -filter:v "hflip,vflip" -c:a copy output_file
|
||||
# Transform SD to HD with pillarbox
|
||||
ffmpeg -i input_file -filter:v "colormatrix=bt601:bt709, scale=1440:1080:flags=lanczos, pad=1920:1080:240:0" -c:a copy output_file
|
||||
# Change display aspect ratio without re-encoding
|
||||
ffmpeg -i input_file -c:v copy -aspect 4:3 output_file
|
||||
ffmpeg -i input_file -c:a copy -c:v copy -aspect 4:3 output_file
|
||||
# Convert colorspace of video
|
||||
ffmpeg -i input_file -c:v libx264 -vf colormatrix=src:dst output_file
|
||||
# Modify image and sound speed
|
||||
@@ -92,6 +92,8 @@ ffmpeg -i input_file -af areverse,silenceremove=start_threshold=-57dB:start_dura
|
||||
ffmpeg -i input_file -c:v libx264 -filter:v "yadif, scale=1440:1080:flags=lanczos, pad=1920:1080:(ow-iw)/2:(oh-ih)/2, format=yuv420p" output_file
|
||||
# Deinterlace video
|
||||
ffmpeg -i input_file -c:v libx264 -vf "yadif,format=yuv420p" output_file
|
||||
# Deinterlace video fields to frames
|
||||
ffmpeg -i input_file -c:v libx264 -vf "idet,bwdif,format=yuv420p" output_file
|
||||
# Inverse telecine
|
||||
ffmpeg -i input_file -c:v libx264 -vf "fieldmatch,yadif,decimate" output_file
|
||||
# Set field order for interlaced video
|
||||
|
||||
@@ -6,8 +6,10 @@
|
||||
if [[ "$(uname -s)" = "Darwin" ]] ; then
|
||||
if ping -c 1 amiaopensource.github.io >/dev/null 2>&1 ; then
|
||||
ffmprovisr_path='https://amiaopensource.github.io/ffmprovisr/'
|
||||
elif [[ -d /usr/local/Cellar/ffmprovisr ]] ; then
|
||||
ffmprovisr_path=$(find /usr/local/Cellar/ffmprovisr -name 'index.html' | sort -M | tail -n1)
|
||||
else
|
||||
ffmprovisr_path=$(find /usr/local/Cellar/ffmprovisr -iname 'index.html' | sort -M | tail -n1)
|
||||
ffmprovisr_path=$(find /opt/homebrew/Cellar/ffmprovisr -name 'index.html' | sort -M | tail -n1)
|
||||
fi
|
||||
open "${ffmprovisr_path}"
|
||||
elif [[ "$(uname -s)" = "Linux" ]] ; then
|
||||
|
||||
Reference in New Issue
Block a user