mirror of
https://github.com/amiaopensource/ffmprovisr.git
synced 2025-10-16 19:00:01 +02:00
Compare commits
19 Commits
v2018-04-0
...
v2018-04-2
Author | SHA1 | Date | |
---|---|---|---|
|
f2ec08fd59 | ||
|
32004553a6 | ||
|
a67b7cc879 | ||
|
b9da657b19 | ||
|
91e929dab4 | ||
|
21e5561dc9 | ||
|
36deb1ea62 | ||
|
89139311f4 | ||
|
fb6581a50e | ||
|
5bdd6f8d8a | ||
|
3b7ce0e79f | ||
|
b9b7e0fef9 | ||
|
95e90bb26b | ||
|
d70a1de6e1 | ||
|
8417883004 | ||
|
937b9ae525 | ||
|
d46138a81b | ||
|
e6317731c9 | ||
|
0849bd29e4 |
@@ -1,6 +1,7 @@
|
||||
html, body {
|
||||
line-height: 1.5;
|
||||
font-size: 16px;
|
||||
font-size: 18px;
|
||||
font-family: sans-serif;
|
||||
color: #888888;
|
||||
background-color: #060606;
|
||||
margin: 0;
|
||||
@@ -88,9 +89,6 @@ a:visited {
|
||||
display: inline;
|
||||
}
|
||||
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
font-family: 'Montserrat', sans-serif;
|
||||
}
|
||||
|
||||
h1 {
|
||||
letter-spacing: 0.1em;
|
||||
@@ -116,7 +114,6 @@ h4 {
|
||||
}
|
||||
|
||||
.intro-lead {
|
||||
font-family: 'Montserrat', sans-serif;
|
||||
font-size: 1em;
|
||||
}
|
||||
|
||||
@@ -165,7 +162,6 @@ img {
|
||||
}
|
||||
|
||||
div {
|
||||
font-family: 'Merriweather', serif;
|
||||
color: white;
|
||||
}
|
||||
|
||||
@@ -177,7 +173,6 @@ div {
|
||||
color: white;
|
||||
background-color: #383838;
|
||||
padding: 14px;
|
||||
font-family: "Montserrat";
|
||||
letter-spacing: 0.05em;
|
||||
border: 1px solid black;
|
||||
cursor: pointer;
|
||||
|
78
index.html
78
index.html
@@ -3,7 +3,6 @@
|
||||
<head>
|
||||
<title>ffmprovisr</title>
|
||||
<meta name="viewport" charset="utf-8" content="text/html, width=device-width, initial-scale=1">
|
||||
<link href="https://fonts.googleapis.com/css?family=Montserrat%7CMerriweather" rel="stylesheet" type="text/css">
|
||||
<link rel="stylesheet" href="css/css.css">
|
||||
<link rel="icon" href="img/vhs.ico">
|
||||
<script src="js/jquery.min.js"></script>
|
||||
@@ -19,6 +18,7 @@
|
||||
<nav class="sidebar well">
|
||||
<h2 class="heading">Table of Contents</h2>
|
||||
<a href="#about"><div class="contents-list">About this resource</div></a>
|
||||
<div id="open-all" class="contents-list">Show/hide all recipes</div>
|
||||
<a href="#basics"><div class="contents-list">FFmpeg basics</div></a>
|
||||
<a href="#concepts"><div class="contents-list">Advanced FFmpeg concepts</div></a>
|
||||
<a href="#rewrap"><div class="contents-list">Change container (rewrap)</div></a>
|
||||
@@ -47,6 +47,7 @@
|
||||
<span class="intro-lead">Making FFmpeg Easier</span>
|
||||
<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>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>
|
||||
<span class="intro-lead">Tutorials</span>
|
||||
<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>
|
||||
@@ -212,6 +213,24 @@
|
||||
</div>
|
||||
<!-- ends MKV to MP4 -->
|
||||
|
||||
<!-- Rewrap DV -->
|
||||
<label class="recipe" for="rewrap-dv">Rewrap DV video to .dv file</label>
|
||||
<input type="checkbox" id="rewrap-dv">
|
||||
<div class="hiding">
|
||||
<h3>Rewrap DV video to .dv file</h3>
|
||||
<p><code>ffmpeg -i <i>input_file</i> -f rawvideo -c:v copy <i>output_file.dv</i></code></p>
|
||||
<p>This script will take a video that is encoded in the <a href="https://en.wikipedia.org/wiki/DV">DV Codec</a> but wrapped in a different container (such as MOV) and rewrap it into a raw DV file (with the .dv extension). Since DV files potentially contain a great deal of provenance metadata within the DV stream, it is necessary to rewrap files in this method to avoid unintentional stripping of this metadata.</p>
|
||||
<dl>
|
||||
<dt>ffmpeg</dt><dd>starts the command</dd>
|
||||
<dt>-i <i>input_file</i></dt><dd>path and name of the input file</dd>
|
||||
<dt>-f rawvideo</dt><dd>this tells FFmpeg to pass the video stream as raw video data without remuxing. This step is what ensures the survival of embedded metadata versus a standard rewrap.</dd>
|
||||
<dt>-c:v copy</dt><dd>copy the DV stream directly, without re-encoding.</dd>
|
||||
<dt><i>output_file.dv</i></dt><dd>tells FFmpeg to use the DV wrapper for the output.</dd>
|
||||
</dl>
|
||||
<p class="link"></p>
|
||||
</div>
|
||||
<!-- Rewrap DV -->
|
||||
|
||||
</div>
|
||||
<div class="well">
|
||||
<h2 id="transcode">Change codec (transcode)</h2>
|
||||
@@ -242,7 +261,7 @@
|
||||
<p>FFmpeg comes with more than one ProRes encoder:</p>
|
||||
<ul>
|
||||
<li><code>prores</code> is much faster, can be used for progressive video only, and seems to be better for video according to Rec. 601 (Recommendation ITU-R BT.601).</li>
|
||||
<li><code>prores_ks</code> generates a better file, can also be used for interlaced video, allows also encoding of ProRes 4444 (<code>-c:v prores_ks -profile:v 4</code>), and seems to be better for video according to Rec. 709 (Recommendation ITU-R BT.709).</li>
|
||||
<li><code>prores_ks</code> generates a better file, can also be used for interlaced video, allows also encoding of ProRes 4444 (<code>-c:v prores_ks -profile:v 4</code>) and ProRes 4444 XQ (<code>-c:v prores_ks -profile:v 5</code>), and seems to be better for video according to Rec. 709 (Recommendation ITU-R BT.709).</li>
|
||||
</ul>
|
||||
<p class="link"></p>
|
||||
</div>
|
||||
@@ -1691,6 +1710,42 @@
|
||||
</div>
|
||||
<!-- ends batch processing (Windows) -->
|
||||
|
||||
<!-- Check decoder errors -->
|
||||
<label class="recipe" for="check_decoder_errors">Check decoder errors</label>
|
||||
<input type="checkbox" id="check_decoder_errors">
|
||||
<div class="hiding">
|
||||
<h3>Check decoder errors</h3>
|
||||
<p><code>ffmpeg -i <i>input_file</i> -f null -</code></p>
|
||||
<p>This decodes your video and prints any errors or found issues to the screen.</p>
|
||||
<dl>
|
||||
<dt>ffmpeg</dt><dd>starts the command</dd>
|
||||
<dt>-i <i>input_file</i></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>
|
||||
</dl>
|
||||
<p class="link"></p>
|
||||
</div>
|
||||
<!-- ends Check decoder errors -->
|
||||
|
||||
<!-- Check FFV1 fixity -->
|
||||
<label class="recipe" for="check_FFV1_fixity">Check FFV1 fixity</label>
|
||||
<input type="checkbox" id="check_FFV1_fixity">
|
||||
<div class="hiding">
|
||||
<h3>Check FFV1 Version 3 fixity</h3>
|
||||
<p><code>ffmpeg -report -i <i>input_file</i> -f null -</code></p>
|
||||
<p>This decodes your video and displays any CRC checksum mismatches. These errors will display in your terminal like this: <code>[ffv1 @ 0x1b04660] CRC mismatch 350FBD8A!at 0.272000 seconds</code></p>
|
||||
<p>Frame CRCs are enabled by default in FFV1 Version 3.</p>
|
||||
<dl>
|
||||
<dt>ffmpeg</dt><dd>starts the command</dd>
|
||||
<dt>-report</dt><dd>Dump full command line and console output to a file named <i>ffmpeg-YYYYMMDD-HHMMSS.log</i> in the current directory. It also implies <code>-loglevel verbose</code>.</dd>
|
||||
<dt>-i <i>input_file</i></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>
|
||||
</dl>
|
||||
<p class="link"></p>
|
||||
</div>
|
||||
<!-- ends Check FFV1 Fixity -->
|
||||
|
||||
<!-- Create frame md5s -->
|
||||
<label class="recipe" for="create_frame_md5s_v">Create MD5 checksums (video frames)</label>
|
||||
<input type="checkbox" id="create_frame_md5s_v">
|
||||
@@ -1809,25 +1864,6 @@
|
||||
</div>
|
||||
<!-- ends QCTools Report (no audio) -->
|
||||
|
||||
<!-- Check FFV1 fixity -->
|
||||
<label class="recipe" for="check_FFV1_fixity">Check FFV1 fixity</label>
|
||||
<input type="checkbox" id="check_FFV1_fixity">
|
||||
<div class="hiding">
|
||||
<h3>Check FFV1 Version 3 fixity</h3>
|
||||
<p><code>ffmpeg -report -i <i>input_file</i> -f null -</code></p>
|
||||
<p>This decodes your video and displays any CRC checksum mismatches. These errors will display in your terminal like this: <code>[ffv1 @ 0x1b04660] CRC mismatch 350FBD8A!at 0.272000 seconds</code></p>
|
||||
<p>Frame CRCs are enabled by default in FFV1 Version 3.</p>
|
||||
<dl>
|
||||
<dt>ffmpeg</dt><dd>starts the command</dd>
|
||||
<dt>-report</dt><dd>Dump full command line and console output to a file named <i>ffmpeg-YYYYMMDD-HHMMSS.log</i> in the current directory. It also implies <code>-loglevel verbose</code>.</dd>
|
||||
<dt>-i <i>input_file</i></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>
|
||||
</dl>
|
||||
<p class="link"></p>
|
||||
</div>
|
||||
<!-- ends Check FFV1 Fixity -->
|
||||
|
||||
<!-- Read/Extract EIA-608 Closed Captions -->
|
||||
<label class="recipe" for="readeia608">Read/Extract EIA-608 Closed Captioning</label>
|
||||
<input type="checkbox" id="readeia608">
|
||||
|
6
js/js.js
6
js/js.js
@@ -18,4 +18,10 @@ $(document).ready(function() {
|
||||
$('#' + id).closest('div').find('.link').append("<small>Link to this command: <a href='https://amiaopensource.github.io/ffmprovisr/index.html"+window.location.hash+"'>https://amiaopensource.github.io/ffmprovisr/index.html"+window.location.hash+"</a></small>");
|
||||
});
|
||||
|
||||
$('#open-all').on("click", function(){
|
||||
$('input[type=checkbox]').each(function(){
|
||||
this.checked = !this.checked;
|
||||
})
|
||||
});
|
||||
|
||||
});
|
||||
|
25
readme.md
25
readme.md
@@ -49,10 +49,13 @@ You can read our contributor code of conduct [here](https://github.com/amiaopens
|
||||
## Contributors
|
||||
* Gathered using [octohatrack](https://github.com/LABHR/octohatrack)
|
||||
|
||||
*GitHub Contributors*:
|
||||
*Code Contributors*:
|
||||
ablwr (Ashley)
|
||||
bastibeckr (Basti Becker)
|
||||
bturkus
|
||||
dericed (Dave Rice)
|
||||
edsu (Ed Summers)
|
||||
jamessam (Jim Sam)
|
||||
jfarbowitz (Jonathan Farbowitz)
|
||||
kfrn (Katherine Frances Nagels)
|
||||
kgrons (Kathryn Gronsbell)
|
||||
@@ -62,17 +65,23 @@ pjotrek-b (Peter B.)
|
||||
privatezero (Andrew Weaver)
|
||||
retokromer (Reto Kromer)
|
||||
rfraimow
|
||||
|
||||
*All Contributors*:
|
||||
|
||||
*All Contributors*:
|
||||
ablwr (Ashley)
|
||||
audiovisualopen
|
||||
bastibeckr (Basti Becker)
|
||||
brainwane (Sumana Harihareswara)
|
||||
bturkus
|
||||
dericed (Dave Rice)
|
||||
drodz11 (Dave Rodriguez)
|
||||
edsu (Ed Summers)
|
||||
EG-tech (Ethan Gates)
|
||||
federicomenaquintero (Federico Mena Quintero)
|
||||
Fizz24
|
||||
GregH18
|
||||
jamessam (Jim Sam)
|
||||
jfarbowitz (Jonathan Farbowitz)
|
||||
JonnyTech
|
||||
jronallo (Jason Ronallo)
|
||||
kellyhaydon (metacynic)
|
||||
kfrn (Katherine Frances Nagels)
|
||||
@@ -80,16 +89,19 @@ kgrons (Kathryn Gronsbell)
|
||||
kieranjol (Kieran O'Leary)
|
||||
llogan (Lou)
|
||||
mulvya
|
||||
nkrabben (Nick Krabbenhoeft)
|
||||
pjotrek-b (Peter B.)
|
||||
privatezero (Andrew Weaver)
|
||||
retokromer (Reto Kromer)
|
||||
rfraimow
|
||||
richardpl (Paul B Mahol)
|
||||
ross-spencer (Ross Spencer)
|
||||
todrobbins (Tod Robbins)
|
||||
|
||||
|
||||
Repo: amiaopensource/ffmprovisr
|
||||
GitHub Contributors: 12
|
||||
All Contributors: 22
|
||||
Code Contributors: 15
|
||||
All Contributors: 30
|
||||
Last updated: 2018-04-22 (4:2:2 Day)
|
||||
|
||||
## AVHack Team
|
||||
|
||||
@@ -99,6 +111,7 @@ All Contributors: 22
|
||||
|
||||
## Sister projects
|
||||
|
||||
[The Cable Bible](https://amiaopensource.github.io/cable-bible/): A Guide to Cables and Connectors Used for Audiovisual Tech
|
||||
[Script Ahoy](http://dd388.github.io/crals/): Community Resource for Archivists and Librarians Scripting
|
||||
[sourcecaster](https://datapraxis.github.io/sourcecaster/): helps you use the command line to work through common challenges that come up when working with digital primary sources.
|
||||
|
||||
|
Reference in New Issue
Block a user