From c6a579a0bf4ade52d017d88d7060c2bfc3fc7ff3 Mon Sep 17 00:00:00 2001 From: Ashley Blewer Date: Tue, 17 Oct 2017 21:03:04 -0400 Subject: [PATCH] changes buttons into div-rows --- css/css.css | 93 +++++++++----------- index.html | 245 ++++++++++++++++++++++++++-------------------------- 2 files changed, 161 insertions(+), 177 deletions(-) diff --git a/css/css.css b/css/css.css index 33fcdfe..f4c8afb 100644 --- a/css/css.css +++ b/css/css.css @@ -132,90 +132,77 @@ img { margin-bottom: 18px; } - div { font-family: 'Merriweather', serif; color: white; } -button { - font: inherit; - font-family: inherit; - color: inherit; -} - -.btn { - border: 1px solid transparent; - background-color: #424242; - font-size: 1em; - line-height: 1.5em; - white-space: normal; - cursor: pointer; - padding: 8px 12px; - border-radius: 4px; - padding-left: 2.5em; - margin: 8px; - display: inline-block; - vertical-align: middle; - -webkit-transform: translateZ(0); - transform: translateZ(0); - box-shadow: 0 0 1px rgba(0, 0, 0, 0); - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - -moz-osx-font-smoothing: grayscale; +.recipe { + color: white; + background-color: #383838; + padding: 14px; + padding-left: 2.8em; + font-family: "Montserrat"; + font-weight: bold; + font-size: 1.2em; + border: 1px solid black; + transition: all .5s ease-out; position: relative; - -webkit-transition-duration: 0.3s; - transition-duration: 0.3s; + width: 100%; } -.btn:before { +.recipe:hover { + color: black; + background-color: #449d44; + border: 1px solid black; +} + +.recipe:before { content: "💫"; position: absolute; left: 1em; padding: 0 1px; - -webkit-transform: translateZ(0); - transform: translateZ(0); - -webkit-transition-duration: 0.3s; - transition-duration: 0.3s; - -webkit-transition-property: transform; - transition-property: transform; - -webkit-transition-timing-function: ease-out; - transition-timing-function: ease-out; + padding-right: 1em; } -.btn:hover:before, .btn:focus:before, .btn:active:before { - -webkit-transform: scale(1.3) translateZ(0); - transform: scale(1.3) translateZ(0); -} - -.contents-list { - color: white; - border: 1px solid black; - background-color: #383838; - padding: 14px; - font-family: "Montserrat"; - font-weight: bold; - font-size: 1em; - border:1px solid rgba(255, 255, 255, 0); - transition:all .5s ease-in-out; +.recipe:hover:before, .recipe:focus:before, .recipe:active:before { + transform: scale(1.3); } .sidebar a { text-decoration: none; } +.contents-list { + color: white; + background-color: #383838; + padding: 14px; + padding-left: 2.8em; + font-family: "Montserrat"; + font-weight: bold; + font-size: 1em; + border: 1px solid black; + transition: all .5s ease-out; +} + .contents-list:hover { color: black; - font-size: 1.05em; background-color: #449d44; border:1px solid black; } .contents-list:before { content: "📼"; + position: absolute; + left: 1em; + padding: 0 1px; padding-right: 1em; } +.contents-list:hover:before, .contents-list:focus:before, .contents-list:active:before { + transform: scale(1.8) translateX(0.3em); +} + .codeblock { font-family: monospace padding: 2px 4px; diff --git a/index.html b/index.html index 32d77f1..c981c49 100644 --- a/index.html +++ b/index.html @@ -68,9 +68,7 @@

Learn about FFmpeg basics

- - - +
Basic structure of an FFmpeg command

Basic structure of an FFmpeg command

@@ -95,7 +93,7 @@

Learn about more advanced FFmpeg concepts

- +
Filtergraphs

Filtergraphs

@@ -128,7 +126,7 @@

Change container (rewrap)

- +
Basic rewrap command

Rewrap a file

@@ -151,7 +149,7 @@ - +
Convert Matroska (MKV) to MP4

MKV to MP4

@@ -176,7 +174,7 @@

Change codec (transcode)

- +
Transcode to deinterlaced Apple ProRes LT

Transcode into a deinterlaced Apple ProRes LT

@@ -207,7 +205,7 @@ - +
Transcode to an H.264 access file

Transcode to H.264

@@ -234,7 +232,7 @@ - +
Transcode from DCP to an H.264 access file

H.264 from DCP

@@ -260,7 +258,7 @@ - +
Transcode your file with the FFV1 Version 3 Codec in a Matroska container

Create FFV1 Version 3 video in a Matroska container with framemd5 of input

@@ -286,7 +284,7 @@ - +
Convert DVD to H.264

Convert DVD to H.264

@@ -318,7 +316,7 @@ - +
Transcode to an H.265/HEVC MP4

Transcode to H.265/HEVC

@@ -348,7 +346,7 @@ - +
Convert WAV to MP3

WAV to MP3

@@ -373,7 +371,7 @@ - +
Generate two access MP3s (with and without copyright).

Generate two access MP3s from input. One with appended audio (such as a copyright notice) and one unmodified.

@@ -398,7 +396,7 @@ - +
Convert WAV to AAC/MP4

WAV to AAC/MP4

@@ -422,7 +420,7 @@

Change video properties

- +
Transform 4:3 aspect ratio into 16:9 with pillarbox

Transform 4:3 aspect ratio into 16:9 with pillarbox

@@ -440,7 +438,7 @@ - +
Transform 16:9 aspect ratio video into 4:3 with letterbox

Transform 16:9 aspect ratio video into 4:3 with letterbox

@@ -459,7 +457,7 @@ - +
Transform SD to HD with pillarbox

Transform SD into HD with pillarbox

@@ -482,7 +480,7 @@ - +
Change display aspect ratio without re-encoding

Change Display Aspect Ratio without reencoding video

@@ -498,7 +496,7 @@ - +
Convert colourspace of video

Transcode video to a different colourspace

@@ -549,9 +547,8 @@
- - +
Modify image and sound speed

Modify image and sound speed

@@ -574,7 +571,7 @@ - +
Clarify stream properties

Set stream properties

@@ -614,7 +611,7 @@

Change or view audio properties

- +
Extract audio without loss from an AV file

Extract audio from an AV file

@@ -631,7 +628,7 @@ - +
Combine audio tracks

Combine audio tracks into one in a video file

@@ -654,7 +651,7 @@ - +
Inverses the audio phase of the second channel

Flip audio phase shift

@@ -672,7 +669,7 @@ - +
Calculate Loudness Levels

Calculate Loudness Levels

@@ -691,7 +688,7 @@ - +
RIAA Equalization

RIAA Equalization

@@ -707,7 +704,7 @@ - +
One Pass Loudness Normalization

One Pass Loudness Normalization

@@ -726,7 +723,7 @@ - +
Two Pass Loudness Normalization

Two Pass Loudness Normalization

@@ -751,7 +748,7 @@ - +
Fix A/V sync issues by resampling audio

Fix AV Sync: Resample audio

@@ -772,7 +769,7 @@

Join, trim, or excerpt a video

- +
Join (concatenate) two or more files into a single file

Join files together

@@ -798,7 +795,7 @@ e.g.: ffmpeg -f concat -safe 0 -i mylist.txt -c copy output_file - +
Split one file into several smaller segments

Split file into segments

@@ -828,7 +825,7 @@ e.g.: ffmpeg -f concat -safe 0 -i mylist.txt -c copy output_file - +
Trim video

Trim a video without re-encoding

@@ -854,7 +851,7 @@ e.g.: ffmpeg -f concat -safe 0 -i mylist.txt -c copy output_file - +
Create an excerpt, starting from the beginning of the file

Excerpt from beginning

@@ -872,7 +869,7 @@ e.g.: ffmpeg -f concat -safe 0 -i mylist.txt -c copy output_file - +
Create a new video file with the first five seconds trimmed off the original

Excerpt to end

@@ -890,7 +887,7 @@ e.g.: ffmpeg -f concat -safe 0 -i mylist.txt -c copy output_file - +
Create a new video file with the final five seconds of the original

Excerpt from end

@@ -912,7 +909,7 @@ e.g.: ffmpeg -f concat -safe 0 -i mylist.txt -c copy output_fileWork with interlaced video - +
Upscaled, pillar-boxed HD H.264 access files from SD NTSC source

Upscaled, Pillar-boxed HD H.264 Access Files from SD NTSC source

@@ -935,7 +932,7 @@ e.g.: ffmpeg -f concat -safe 0 -i mylist.txt -c copy output_file - +
Deinterlace video

Deinterlace a video

@@ -969,7 +966,7 @@ e.g.: ffmpeg -f concat -safe 0 -i mylist.txt -c copy output_file - +
Inverse telecine

Inverse telecine a video file

@@ -999,7 +996,7 @@ e.g.: ffmpeg -f concat -safe 0 -i mylist.txt -c copy output_file - +
Set field order for interlaced video

Change field order of an interlaced video

@@ -1015,7 +1012,7 @@ e.g.: ffmpeg -f concat -safe 0 -i mylist.txt -c copy output_file - +
Identify interlacement patterns in a video file

Check video file interlacement patterns

@@ -1035,7 +1032,7 @@ e.g.: ffmpeg -f concat -safe 0 -i mylist.txt -c copy output_fileOverlay timecode or text - +
Create opaque centered text watermark

Create centered, transparent text watermark

@@ -1060,7 +1057,7 @@ e.g.: ffmpeg -f concat -safe 0 -i mylist.txt -c copy output_file - +
Overlay image watermark on video

Overlay image watermark on video

@@ -1076,7 +1073,7 @@ e.g.: ffmpeg -f concat -safe 0 -i mylist.txt -c copy output_file - +
Burn in timecode

Create a burnt in timecode on your image

@@ -1106,7 +1103,7 @@ e.g.: ffmpeg -f concat -safe 0 -i mylist.txt -c copy output_fileCreate thumbnails or GIFs - +
Export one thumbnail per video file

One thumbnail

@@ -1123,7 +1120,7 @@ e.g.: ffmpeg -f concat -safe 0 -i mylist.txt -c copy output_file - +
Export many thumbnails per video file

Many thumbnails

@@ -1140,7 +1137,7 @@ e.g.: ffmpeg -f concat -safe 0 -i mylist.txt -c copy output_file - +
Create GIF from still images

Images to GIF

@@ -1160,7 +1157,7 @@ e.g.: ffmpeg -f concat -safe 0 -i mylist.txt -c copy output_file - +
Create GIF from a video

Create GIF

@@ -1196,7 +1193,7 @@ e.g.: ffmpeg -f concat -safe 0 -i mylist.txt -c copy output_fileCreate a video from images - +
Transcode an image sequence into uncompressed 10-bit video

Transcode an image sequence into uncompressed 10-bit video

@@ -1214,7 +1211,7 @@ e.g.: ffmpeg -f concat -safe 0 -i mylist.txt -c copy output_file - +
Create video from image and audio

Create a video from an image and audio file.

@@ -1239,7 +1236,7 @@ e.g.: ffmpeg -f concat -safe 0 -i mylist.txt -c copy output_fileUse filters or scopes - +
Audio Bitscope

Creates a visualization of the bits in an audio stream

@@ -1261,7 +1258,7 @@ e.g.: ffmpeg -f concat -safe 0 -i mylist.txt -c copy output_file - +
Play a graphical output showing decibel levels of an input file

Plays a graphical output showing decibel levels of an input file

@@ -1289,7 +1286,7 @@ e.g.: ffmpeg -f concat -safe 0 -i mylist.txt -c copy output_file - +
Identify pixels out of broadcast range

Shows all pixels outside of broadcast range

@@ -1313,7 +1310,7 @@ e.g.: ffmpeg -f concat -safe 0 -i mylist.txt -c copy output_file - +
Vectorscope from video to screen

Plays vectorscope of video

@@ -1334,7 +1331,7 @@ e.g.: ffmpeg -f concat -safe 0 -i mylist.txt -c copy output_file - +
Side by Side Videos/Temporal Difference Filter

This will play two input videos side by side while also applying the temporal difference filter to them

@@ -1367,7 +1364,7 @@ e.g.: ffmpeg -f concat -safe 0 -i mylist.txt -c copy output_fileView or strip metadata - +
Pull specs from video file

Pull specs from video file

@@ -1385,8 +1382,8 @@ e.g.: ffmpeg -f concat -safe 0 -i mylist.txt -c copy output_file - - + +
Strip metadata

Strips metadata from video file

@@ -1407,7 +1404,7 @@ e.g.: ffmpeg -f concat -safe 0 -i mylist.txt -c copy output_filePreservation tasks - +
Batch processing (Mac/Linux)

Create Bash script to batch process with FFmpeg

@@ -1436,7 +1433,7 @@ e.g.: ffmpeg -f concat -safe 0 -i mylist.txt -c copy output_file - +
Batch processing (Windows)

Create PowerShell script to batch process with FFmpeg

@@ -1469,7 +1466,7 @@ ffmpeg -i $file -map 0 -c copy $output - +
Create MD5 checksums (video frames)

Create MD5 checksums (video frames)

@@ -1487,7 +1484,7 @@ ffmpeg -i $file -map 0 -c copy $output - +
Create MD5 checksums (audio samples)

Create MD5 checksums (audio samples)

@@ -1512,7 +1509,7 @@ ffmpeg -i $file -map 0 -c copy $output - +
QCTools report (with audio)

Creates a QCTools report

@@ -1536,7 +1533,7 @@ ffmpeg -i $file -map 0 -c copy $output - +
QCTools report (no audio)

Creates a QCTools report

@@ -1560,7 +1557,7 @@ ffmpeg -i $file -map 0 -c copy $output - +
Check FFV1 fixity

Check FFV1 Version 3 fixity

@@ -1578,7 +1575,7 @@ ffmpeg -i $file -map 0 -c copy $output - +
Read/Extract EIA-608 Closed Captioning

Read/Extract EIA-608 (Line 21) closed captioning

@@ -1606,7 +1603,7 @@ ffmpeg -i $file -map 0 -c copy $output

Generate test files

- +
Make a mandelbrot test pattern video

Makes a mandelbrot test pattern video

@@ -1623,7 +1620,7 @@ ffmpeg -i $file -map 0 -c copy $output - +
Make a SMPTE bars test pattern video

Makes a SMPTE bars test pattern video

@@ -1640,7 +1637,7 @@ ffmpeg -i $file -map 0 -c copy $output - +
Make a test pattern video

Make a test pattern video

@@ -1658,7 +1655,7 @@ ffmpeg -i $file -map 0 -c copy $output - +
Play HD SMPTE bars

Play HD SMPTE bars

@@ -1673,7 +1670,7 @@ ffmpeg -i $file -map 0 -c copy $output - +
Play VGA SMPTE bars

Play VGA SMPTE bars

@@ -1688,7 +1685,7 @@ ffmpeg -i $file -map 0 -c copy $output - +
Generate a sine wave test audio file

Sine wave

@@ -1705,7 +1702,7 @@ ffmpeg -i $file -map 0 -c copy $output - +
SMPTE bars + Sine wave audio

SMPTE bars + Sine wave audio

@@ -1726,7 +1723,7 @@ ffmpeg -i $file -map 0 -c copy $output - +
Make a broken file

Makes a broken test file

@@ -1747,7 +1744,7 @@ ffmpeg -i $file -map 0 -c copy $output

Use OCR

- +
Play video with OCR

Plays video with OCR on top

@@ -1770,7 +1767,7 @@ ffmpeg -i $file -map 0 -c copy $output - +
Export OCR from video to screen

Exports OCR data to screen

@@ -1791,7 +1788,7 @@ ffmpeg -i $file -map 0 -c copy $output

Compare perceptual similarity of videos

- +
Compare Video Fingerprints

Compare two video files for content similarity using perceptual hashing

@@ -1808,7 +1805,7 @@ ffmpeg -i $file -map 0 -c copy $output - +
Generate Video Fingerprint

Generate a perceptual hash for an input video file

@@ -1828,7 +1825,7 @@ ffmpeg -i $file -map 0 -c copy $output

Other

- +
Play an image sequence

Play an image sequence

@@ -1849,7 +1846,7 @@ ffmpeg -i $file -map 0 -c copy $output - +
Split audio and video tracks

Split audio and video tracks

@@ -1867,7 +1864,7 @@ ffmpeg -i $file -map 0 -c copy $output - +
Flip video image

Flip the video image horizontally and/or vertically

@@ -1884,7 +1881,7 @@ ffmpeg -i $file -map 0 -c copy $output - +
Create ISO files for DVD access

Create ISO files for DVD access

@@ -1902,7 +1899,7 @@ ffmpeg -i $file -map 0 -c copy $output - +
CSV with timecodes and YDIF

Exports CSV for scene detection using YDIF

@@ -1922,7 +1919,7 @@ ffmpeg -i $file -map 0 -c copy $output - +
Cover head switching noise

Cover head switching noise

@@ -1946,47 +1943,47 @@ ffmpeg -i $file -map 0 -c copy $output - -
-

Record and live-stream simultaneously

- -

ffmpeg -re -i ${INPUTFILE} -map 0 -flags +global_header -vf scale="1280:-1,format=yuv420p" -pix_fmt yuv420p -level 3.1 -vsync passthrough -crf 26 -g 50 -bufsize 3500k -maxrate 1800k -c:v libx264 -c:a aac -b:a 128000 -r:a 44100 -ac 2 -t ${STREAMDURATION} -f tee "[movflags=+faststart]${TARGETFILE}|[f=flv]${STREAMTARGET}"

-

I use this script to stream to a RTMP target and record the stream locally as .mp4 with only one ffmpeg-instance.

-

As input, I use bmdcapture which is piped to ffmpeg. But it can also be used with a static videofile as input.

-

The input will be scaled to 1280px width, maintaining height. Also the stream will stop after a given time (see -t option.)

-

Notes

-
    -
  1. I recommend to use this inside a shell script - then you can define the variables ${INPUTFILE}, ${STREAMDURATION}, ${TARGETFILE}, and ${STREAMTARGET}.
  2. -
  3. This is in daily use to live-stream a real-world TV show. No errors for nearly 4 years. Some parameters were found by trial-and-error or empiric testing. So suggestions/questions are welcome.
  4. -
-
-
ffmpeg
starts the command
-
-re
Read input at native framerate
-
-i input.mov
The input file. Can also be a - to use STDIN if you pipe in from webcam or SDI.
-
-map 0
map ALL streams from input file to output
-
-flags +global_header
Don't place extra data in every keyframe
-
-vf scale="1280:-1"
Scale to 1280 width, maintain aspect ratio.
-
-pix_fmt yuv420p
convert to 4:2:0 chroma subsampling scheme
-
-level 3.1
H264 Level (defines some thresholds for bitrate)
-
-vsync passthrough
Each frame is passed with its timestamp from the demuxer to the muxer.
-
-crf 26
Constant rate factor - basically the quality
-
-g 50
GOP size.
-
-bufsize 3500k
Ratecontrol buffer size (~ maxrate x2)
-
-maxrate 1800k
Maximum bit rate
-
-c:v libx264
encode output video stream as H.264
-
-c:a aac
encode output audio stream as AAC
-
-b:a 128000
The audio bitrate
-
-r:a 44100
The audio samplerate
-
-ac 2
Two audio channels
-
-t ${STREAMDURATION}
Time (in seconds) after which the stream should automatically end.
-
-f tee
Use multiple outputs. Outputs defined below.
-
"[movflags=+faststart]target-file.mp4|[f=flv]rtmp://stream-url/stream-id"
The outputs, separated by a pipe (|). The first is the local file, the second is the live stream. Options for each target are given in square brackets before the target.
-
-
+
Record and live-stream simultaneously
+
+

Record and live-stream simultaneously

+ +

ffmpeg -re -i ${INPUTFILE} -map 0 -flags +global_header -vf scale="1280:-1,format=yuv420p" -pix_fmt yuv420p -level 3.1 -vsync passthrough -crf 26 -g 50 -bufsize 3500k -maxrate 1800k -c:v libx264 -c:a aac -b:a 128000 -r:a 44100 -ac 2 -t ${STREAMDURATION} -f tee "[movflags=+faststart]${TARGETFILE}|[f=flv]${STREAMTARGET}"

+

I use this script to stream to a RTMP target and record the stream locally as .mp4 with only one ffmpeg-instance.

+

As input, I use bmdcapture which is piped to ffmpeg. But it can also be used with a static videofile as input.

+

The input will be scaled to 1280px width, maintaining height. Also the stream will stop after a given time (see -t option.)

+

Notes

+
    +
  1. I recommend to use this inside a shell script - then you can define the variables ${INPUTFILE}, ${STREAMDURATION}, ${TARGETFILE}, and ${STREAMTARGET}.
  2. +
  3. This is in daily use to live-stream a real-world TV show. No errors for nearly 4 years. Some parameters were found by trial-and-error or empiric testing. So suggestions/questions are welcome.
  4. +
+
+
ffmpeg
starts the command
+
-re
Read input at native framerate
+
-i input.mov
The input file. Can also be a - to use STDIN if you pipe in from webcam or SDI.
+
-map 0
map ALL streams from input file to output
+
-flags +global_header
Don't place extra data in every keyframe
+
-vf scale="1280:-1"
Scale to 1280 width, maintain aspect ratio.
+
-pix_fmt yuv420p
convert to 4:2:0 chroma subsampling scheme
+
-level 3.1
H264 Level (defines some thresholds for bitrate)
+
-vsync passthrough
Each frame is passed with its timestamp from the demuxer to the muxer.
+
-crf 26
Constant rate factor - basically the quality
+
-g 50
GOP size.
+
-bufsize 3500k
Ratecontrol buffer size (~ maxrate x2)
+
-maxrate 1800k
Maximum bit rate
+
-c:v libx264
encode output video stream as H.264
+
-c:a aac
encode output audio stream as AAC
+
-b:a 128000
The audio bitrate
+
-r:a 44100
The audio samplerate
+
-ac 2
Two audio channels
+
-t ${STREAMDURATION}
Time (in seconds) after which the stream should automatically end.
+
-f tee
Use multiple outputs. Outputs defined below.
+
"[movflags=+faststart]target-file.mp4|[f=flv]rtmp://stream-url/stream-id"
The outputs, separated by a pipe (|). The first is the local file, the second is the live stream. Options for each target are given in square brackets before the target.
+
+
- +
View FFmpeg subprogram information

View information about a specific decoder, encoder, demuxer, muxer, or filter

@@ -2012,7 +2009,7 @@ ffmpeg -i $file -map 0 -c copy $output
-