Compare commits

...

65 Commits

Author SHA1 Message Date
Reto Kromer
19d249a09b Merge pull request #194 from amiaopensource/structure 2017-05-22 16:07:40 +02:00
Ashley
04abe26b53 updates contributors list (#193) 2017-05-22 15:59:43 +02:00
Ashley
ab3a8b25cf adds strip metadata recipe (#192)
- adds strip metadata recipe
2017-05-22 15:48:15 +02:00
Reto Kromer
40e8f8c73c move "Repair" 2017-05-22 14:51:17 +02:00
Ashley
129540fbfc Merge pull request #191 from amiaopensource/licence
CC BY 4.0
2017-05-20 18:47:53 -04:00
Reto Kromer
8578f01e1c CC BY 4.0 2017-05-20 18:43:23 +02:00
Reto Kromer
0158a85a4b HTML5 tweaks 2017-05-20 10:53:30 +02:00
Reto Kromer
cc724200d1 Merge pull request #189 from pjotrek-b/gh-pages
Added command for splitting into segments (segment muxer).
2017-05-18 10:30:45 +02:00
Peter B
0c03f57df6 Added printf-number examples and fixed requested changes. 2017-05-18 10:24:13 +02:00
Reto Kromer
659e920e0b Merge pull request #187 from amiaopensource/offline
add comment
2017-05-18 07:04:52 +02:00
Reto Kromer
2037ec922f Merge pull request #188 from amiaopensource/readme
update installation instructions
2017-05-18 07:04:05 +02:00
Reto Kromer
c745152f8e fix error 2017-05-17 19:27:19 +02:00
Peter B
e12bbb0c6d Added command for splitting into segments (segment muxer). 2017-05-17 18:53:04 +02:00
Reto Kromer
2c0e555dc1 update installation instructions 2017-05-17 18:50:29 +02:00
Reto Kromer
ed81a16458 Merge pull request #186 from amiaopensource/uniform_spacing
uniform spacing
2017-05-13 15:59:53 +02:00
Reto Kromer
172657b1bb add comment 2017-05-13 07:04:10 +02:00
Reto Kromer
7af1a3de2c uniform spacing 2017-05-13 06:48:57 +02:00
Reto Kromer
3f76abc053 Merge pull request #185 from amiaopensource/update-load-script
add query for default browser
2017-05-09 19:30:27 +02:00
Andrew Weaver
e3d11b3e7c add query for default browser 2017-05-09 11:45:28 -04:00
Reto Kromer
dbe9e1a049 Merge pull request #183 from amiaopensource/HTML5
fix HTML5
2017-05-09 11:32:21 +02:00
Reto Kromer
0fe609a683 Merge pull request #184 from kfrn/gh-pages
Minor wording amendment
2017-05-09 11:28:10 +02:00
kfrn
704a87f22c Minor wording amendment 2017-05-09 20:46:51 +12:00
Reto Kromer
b1a5f14e8c uniformise typography
vu en passant
2017-05-08 20:32:00 +02:00
Reto Kromer
55b34452f7 fix HTML5
- delete not opened closing tag
- uniform wells
2017-05-08 16:38:28 +02:00
Andrew Weaver
18e2c17ab4 Script to open ffmprovisr when installed via homebrew (#181)
- script for opening ffmprovisr from terminal
2017-05-05 17:37:50 +02:00
Andrew Weaver
e4309d6664 add audio bitscope (#180)
* add audio bitscope

* alphabetical

* ch ch ch ch changes
2017-05-04 19:58:24 +02:00
Andrew Weaver
750810d392 Loudness/RIAA Curve (#179)
- start normalization section
- add RIAA
2017-05-03 04:58:20 +02:00
Reto Kromer
b2a04d138f Merge pull request #177 from kfrn/gh-pages
Tweak wording of readme
2017-04-19 10:15:32 +02:00
kfrn
b53f6c9984 Amend formatting & wording 2017-04-19 20:13:17 +12:00
kfrn
64a362314c Tweak wording of readme 2017-04-19 19:33:51 +12:00
Reto Kromer
2a71179776 Merge pull request #175 from amiaopensource/script_folder
scripts folder
2017-04-18 19:38:56 +02:00
Reto Kromer
77e346c067 Merge pull request #176 from amiaopensource/signature-examples
Add examples for using new Signature filter
2017-04-17 20:28:55 +02:00
Andrew Weaver
b995fb05c5 FFmpeg -> ffmpeg 2017-04-17 14:27:58 -04:00
Andrew Weaver
d30741e378 add generate fingerprint
wording
2017-04-17 14:11:26 -04:00
Andrew Weaver
e3b01e2aa8 add compare fingerprints 2017-04-17 13:40:18 -04:00
Reto Kromer
750a763157 more coherent output prompt 2017-04-17 11:46:46 +02:00
Reto Kromer
0a6e5a4a7a more coherent output prompt 2017-04-17 11:46:10 +02:00
Reto Kromer
54a8ab6057 plural 2017-04-17 07:58:26 +02:00
Reto Kromer
e762c7dc42 plural 2017-04-17 07:57:49 +02:00
Reto Kromer
cb7f001444 plural 2017-04-17 07:55:58 +02:00
Reto Kromer
89039f55b3 [WIP] update readme
- add maintainers
- add link to PR
- move licence at the end

Remarks:
- It needs more work by an English native.
- The section `AVHack Team` could be called `History` and start with Ashley’s first release.
2017-04-17 07:52:12 +02:00
Reto Kromer
59e6c6d879 correct link 2017-04-17 07:05:07 +02:00
Reto Kromer
195bc5446e script folder 2017-04-17 07:04:00 +02:00
Reto Kromer
a1cc5a4428 update date 2017-04-17 07:00:48 +02:00
Reto Kromer
58663a869f script folder 2017-04-17 07:00:15 +02:00
Reto Kromer
05d16367f0 script folder 2017-04-17 06:58:14 +02:00
Reto Kromer
9477bcfe0a Merge pull request #173 from amiaopensource/weaver-branch
add script for comparing audio framemd5
2017-04-16 16:56:05 +02:00
aweaver
ad439d3b78 version 2017-04-16 07:53:28 -07:00
aweaver
736b01e426 caveat about transcode 2017-04-16 07:40:00 -07:00
Ashley
57166fe61d Merge pull request #174 from amiaopensource/don_t_leave_ffmprovisr
external link opens a new window
2017-04-16 10:25:08 -04:00
aweaver
ec26d2038a urls and quotes 2017-04-16 07:17:27 -07:00
aweaver
321d998b5a name,filter and spaces 2017-04-16 07:01:40 -07:00
Reto Kromer
009670eed1 external link opens a new window
- add missing `target="_blank"`
- uniform `href` before `target` (easier to maintain)
2017-04-16 10:17:43 +02:00
aweaver
d3a941a725 add script for audio 2017-04-15 14:02:23 -07:00
Reto Kromer
d334d7b4de HTML cleanup
before new release
2017-04-14 08:31:40 +02:00
Reto Kromer
d08cf349f6 Merge pull request #172 from pjotrek-b/text
Split "change formats" into separate categories
2017-04-13 19:11:34 +02:00
Peter B
b5b06021b0 Rearranged aspect-ratio conversions to be next to each other. 2017-04-13 16:24:17 +02:00
Peter B
e0ceeb0d73 Split "change formats" into: rewrap,transcode,formats 2017-04-13 16:23:09 +02:00
Reto Kromer
dc47dbc618 Merge pull request #170 from pjotrek-b/avsync
Added AV sync repair option (aresample/async)
2017-04-13 15:42:46 +02:00
Reto Kromer
28ae979652 Merge pull request #171 from pjotrek-b/gh-pages
Fixed outdated link to ffmpeg filters paragaph.
2017-04-13 15:32:38 +02:00
Peter B
0e2a2c2bfe Fixed outdated link to ffmpeg filters paragaph. 2017-04-13 15:00:21 +02:00
Peter B
388b107a3f Added AV sync repair option (aresample/async) 2017-04-13 14:43:35 +02:00
Reto Kromer
117ebf506d Merge pull request #167 from pjotrek-b/gh-pages
Added framemd5 for audio.
2017-04-13 12:33:05 +02:00
Peter B
9356f9af93 Added testvideo with image + sound (SMPTE bars) 2017-04-13 11:10:41 +02:00
Peter B
4d2d5c7c81 Added framemd5 for audio. 2017-04-13 10:35:42 +02:00
7 changed files with 972 additions and 517 deletions

View File

@@ -7,7 +7,7 @@ code {
}
dd {
padding-left:24px;
padding-left: 24px;
}
dt {
@@ -26,9 +26,9 @@ img {
}
h1 {
letter-spacing:8px;
font-size:86px;
line-height:120px;
letter-spacing: 8px;
font-size: 86px;
line-height: 120px;
}
div {

BIN
img/16_32_abitscope.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 450 KiB

1291
index.html

File diff suppressed because it is too large Load Diff

View File

@@ -1,37 +1,55 @@
# [ffmprovisr](http://amiaopensource.github.io/ffmprovisr)
Repository of useful FFmpeg command lines for archivists! [AMIA hackday](http://wiki.curatecamp.org/index.php/Association_of_Moving_Image_Archivists_%26_Digital_Library_Federation_Hack_Day_2015) edition.
Repository of useful FFmpeg command lines for archivists!
## What is this?
Project Objective: To facilitate better understanding of FFmpeg through collaborative sharing of useful scripts and detailed flag-level description of how each script works so archivists can copy-paste and produce their own scripts but also understand how and why they work.
#### Project Objective
To facilitate better understanding of FFmpeg through collaborative sharing of useful scripts and detailed flag-level description of how each script works, so archivists can copy-paste and produce their own scripts, but also understand how and why they work.
## How do I see it?
Code stuff in the gh-pages branch (the default primary branch). Readme is right here. The site is live and lives on github pages. You can see it [here](http://amiaopensource.github.io/ffmprovisr), or you can download a [release](https://github.com/amiaopensource/ffmprovisr/releases) and use it locally.
The code is found in the gh-pages branch (the default primary branch). Readme is right here. You can see the site live on [GitHub pages](http://amiaopensource.github.io/ffmprovisr).
You can also install the latest [release](https://github.com/amiaopensource/ffmprovisr/releases) on your computer with the command:
```
brew install amiaopensource/amiaos/ffmprovisr
```
and then call it locally with the command:
```
ffmprovisr
```
This works currently under macOS, Linux and the Linux subsystem on Windows. On classic Windows you can install the last [release](https://github.com/amiaopensource/ffmprovisr/releases) manually and the open `index.html` in a browser.
## How do I contribute?
You are welcome to edit the codebase yourself or just supply the information and ask it to be added to the site.
You are welcome to edit the codebase yourself, or just supply the information and ask it to be added to the site.
To contribute to this project directly (and more quickly), clone this repository and create a new branch (`git checkout -b your-branch-name`) and add or modify a new block in index.html. Then submit a pull request and someone can review and integrate your code. There is a commented-out sample available at the bottom of index.html that can be used to build your own block.
#### Edit codebase
If you are having trouble with the coding it yourself or with github, feel free to [submit an issue](https://github.com/amiaopensource/ffmprovisr/issues) with the kind of command you would like to see added to the site.
To contribute to this project directly (and more quickly), clone this repository and create a new branch (`git checkout -b your-branch-name`) and add or modify a new block in `index.html`. Then [submit a pull request](https://github.com/amiaopensource/ffmprovisr/pulls) and the maintainers will review and integrate your code. There is a commented-out sample block available at the bottom of `index.html` that can be as a guideline for your command.
#### Make a request
If you are having trouble with coding it yourself or with github, feel free to [submit an issue](https://github.com/amiaopensource/ffmprovisr/issues) with the kind of command you would like to see added to the site.
#### General help
If you want to help but don't have a new script to add, you can help us by testing out the scripts available, by refining or clarifying the documentation, or [creating an issue](https://github.com/amiaopensource/ffmprovisr/issues) for anything that sounds confusing and requires clarification.
## License
<a rel="license" href="http://creativecommons.org/licenses/by/4.0/"><img alt="Creative Commons License" style="border-width:0" src="https://i.creativecommons.org/l/by/4.0/80x15.png" /></a><br />This <span xmlns:dct="http://purl.org/dc/terms/" href="http://purl.org/dc/dcmitype/InteractiveResource" rel="dct:type">work</span> by <a xmlns:cc="http://creativecommons.org/ns#" href="http://amiaopensource.github.io/ffmprovisr/" property="cc:attributionName" rel="cc:attributionURL">ffmprovisr</a> is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</a>.<br />Based on a work at <a xmlns:dct="http://purl.org/dc/terms/" href="https://github.com/amiaopensource/ffmprovisr" rel="dct:source">https://github.com/amiaopensource/ffmprovisr</a>.
## Code of Conduct
You can read our contributor code of conduct [here](https://github.com/amiaopensource/ffmprovisr/blob/gh-pages/code_of_conduct.md).
## Maintainers
[Ashley Blewer](https://github.com/ablwr), [Katherine Frances Nagels](https://github.com/kfrn), [Kieran O'Leary](https://github.com/kieranjol) and [Reto Kromer](https://github.com/retokromer)
## Contributors
* Gathered using [octohatrack](https://github.com/LABHR/octohatrack)
GitHub Contributors:
*GitHub Contributors*:
ablwr (Ashley)
dericed (Dave Rice)
edsu (Ed Summers)
@@ -40,39 +58,50 @@ kfrn (Katherine Frances Nagels)
kgrons (Kathryn Gronsbell)
kieranjol (Kieran O'Leary)
llogan (Lou)
pjotrek-b (Peter B.)
privatezero (Andrew Weaver)
retokromer (Reto Kromer)
rfraimow
All Contributors:
*All Contributors*:
ablwr (Ashley)
audiovisualopen
brainwane (Sumana Harihareswara)
bturkus
dericed (Dave Rice)
edsu (Ed Summers)
Fizz24
jamessam (Jim)
jamessam (Jim Sam)
jfarbowitz (Jonathan Farbowitz)
jronallo (Jason Ronallo)
kellyhaydon (metacynic)
kfrn (Katherine Frances Nagels)
kgrons (Kathryn Gronsbell)
kieranjol (Kieran O'Leary)
llogan (Lou)
mulvya
pjotrek-b (Peter B.)
privatezero (Andrew Weaver)
retokromer (Reto Kromer)
rfraimow
richardpl (Paul B Mahol)
todrobbins (Tod Robbins)
Repo: amiaopensource/ffmprovisr
GitHub Contributors: 11
All Contributors: 18
GitHub Contributors: 12
All Contributors: 22
## AVHack Team:
## AVHack Team
[Ashley Blewer](https://github.com/ablwr), Eddy Colloton, Rebecca Dillmeier, [Jonathan Farbowitz](https://github.com/jfarbowitz), Rebecca Fraimow, Samuel Gutterman, Kelly Haydon, [Reto Kromer](https://github.com/retokromer), Nicole Martin, [Katherine Frances Nagels](https://github.com/kfrn), [Kieran O'Leary](https://github.com/kieranjol), Catriona Schlosser, Ben Turkus
[Association of Moving Image Archivists & Digital Library Federation Hack Day 2015](http://wiki.curatecamp.org/index.php/Association_of_Moving_Image_Archivists_%26_Digital_Library_Federation_Hack_Day_2015)
[Ashley Blewer](https://github.com/ablwr), [Eddy Colloton](https://github.com/eddycolloton), Rebecca Dillmeier, [Jonathan Farbowitz](https://github.com/jfarbowitz), [Rebecca Fraimow](https://github.com/rfraimow), Samuel Gutterman, [Kelly Haydon](https://github.com/kellyhaydon), [Reto Kromer](https://github.com/retokromer), Nicole Martin, [Katherine Frances Nagels](https://github.com/kfrn), [Kieran O'Leary](https://github.com/kieranjol), Catriona Schlosser, [Ben Turkus](https://github.com/bturkus)
## Sister projects
[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.
## License
<a rel="license" href="http://creativecommons.org/licenses/by/4.0/"><img alt="Creative Commons License" style="border-width:0" src="https://i.creativecommons.org/l/by/4.0/80x15.png" /></a><br />This <span xmlns:dct="http://purl.org/dc/terms/" href="http://purl.org/dc/dcmitype/InteractiveResource" rel="dct:type">work</span> by <a xmlns:cc="http://creativecommons.org/ns#" href="http://amiaopensource.github.io/ffmprovisr/" property="cc:attributionName" rel="cc:attributionURL">ffmprovisr</a> is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</a>.<br />Based on a work at <a xmlns:dct="http://purl.org/dc/terms/" href="https://github.com/amiaopensource/ffmprovisr" rel="dct:source">https://github.com/amiaopensource/ffmprovisr</a>.

23
check_framemd5.sh → scripts/check_audio_framemd5.sh Normal file → Executable file
View File

@@ -1,6 +1,6 @@
#!/usr/bin/env bash
SCRIPT=$(basename "${0}")
VERSION='2016-12-31'
VERSION='2017-04-17'
AUTHOR='ffmprovisr'
RED='\033[1;31m'
BLUE='\033[1;34m'
@@ -13,7 +13,7 @@ fi
_output_prompt(){
cat <<EOF
Usage: ${SCRIPT} [-h] | [ -i <av_file> -m <md5_file> ]
Usage: ${SCRIPT} -h | -i <av_file> -m <md5_file>
EOF
exit 1
}
@@ -32,7 +32,7 @@ Dependency:
ffmpeg
About:
Version: ${VERSION}
Website: https://github.com/amiaopensource/ffmprovisr/blob/gh-pages/check_framemd5.sh
Website: https://github.com/amiaopensource/ffmprovisr/blob/gh-pages/scripts/check_audio_framemd5.sh
EOF
exit 0
}
@@ -54,21 +54,24 @@ done
echo -e "${BLUE}Please wait...${NC}"
unset md5_tmp
if [[ $OSTYPE = "cygwin" ]]; then
md5_tmp=""${USERPROFILE}/$(basename ${input_hash}).tmp""
md5_tmp="${USERPROFILE}/$(basename "${input_hash}").tmp"
else
md5_tmp="${HOME}/$(basename ${input_hash}).tmp"
md5_tmp="${HOME}/$(basename "${input_hash}").tmp"
fi
$(ffmpeg -i ${input_file} -loglevel 0 -f framemd5 -an ${md5_tmp})
# Find audio frame size for hash calculation
sample_rate=$(grep -v '^#' "${input_hash}" | head -n 1 | tr -d ' ' | cut -d',' -f4)
ffmpeg -i "${input_file}" -loglevel 0 -af "asetnsamples=n='$sample_rate'" -f framemd5 -vn "${md5_tmp}"
[[ ! -f ${md5_tmp} ]] && { echo -e "${RED}Error: '${input_file}' is not a valid audio-visual file.${NC}" ; _output_prompt ; }
unset old_file
unset tmp_file
old_file=$(grep -v '^#' ${input_hash})
tmp_file=$(grep -v '^#' ${md5_tmp})
unset sample_rate
old_file=$(grep -v '^#' "${input_hash}")
tmp_file=$(grep -v '^#' "${md5_tmp}")
if [[ "${old_file}" = "${tmp_file}" ]]; then
echo -e "${BLUE}'$(basename ${input_file})' matches '$(basename ${input_hash})'${NC}"
echo -e "${BLUE}'$(basename "${input_file}")' matches '$(basename "${input_hash}")'${NC}"
rm "${md5_tmp}"
else
echo -e "${RED}The following differences were detected between '$(basename ${input_file})' and '$(basename ${input_hash})':${NC}"
echo -e "${RED}The following differences were detected between '$(basename "${input_file}")' and '$(basename "${input_hash}")':${NC}"
diff "${input_hash}" "${md5_tmp}"
rm "${md5_tmp}"
fi

View File

@@ -0,0 +1,74 @@
#!/usr/bin/env bash
SCRIPT=$(basename "${0}")
VERSION='2017-04-17'
AUTHOR='ffmprovisr'
RED='\033[1;31m'
BLUE='\033[1;34m'
NC='\033[0m'
if [[ ${OSTYPE} = "cygwin" ]] || [ ! $(which diff) ]; then
echo -e "${RED}Error: 'diff' is not installed by default. Please install 'diffutils' from Cygwin.${NC}"
exit 1
fi
_output_prompt(){
cat <<EOF
Usage: ${SCRIPT} -h | -i <av_file> -m <md5_file>
EOF
exit 1
}
_output_help(){
cat <<EOF
Syntax:
${SCRIPT}
Prompts a short help message.
${SCRIPT} -h
This help.
${SCRIPT} -i <av_file> -m <md5_file>
Pass to the script the audio-visual file and the corresponding MD5
file to check.
Dependency:
ffmpeg
About:
Version: ${VERSION}
Website: https://github.com/amiaopensource/ffmprovisr/blob/gh-pages/scripts/check_video_framemd5.sh
EOF
exit 0
}
unset input_file
unset input_hash
while getopts ":hi:m:" opt; do
case "${opt}" in
h) _output_help ;;
i) input_file=$OPTARG ;;
m) input_hash=$OPTARG ;;
:) echo -e "${RED}Error: option -${OPTARG} requires an argument${NC}" ; _output_prompt ;;
*) echo -e "${RED}Error: bad option -${OPTARG}${NC}" ; _output_prompt ;;
esac
done
[[ -z "${#}" || ! ${input_file} || ! ${input_hash} ]] && _output_prompt
echo -e "${BLUE}Please wait...${NC}"
unset md5_tmp
if [[ $OSTYPE = "cygwin" ]]; then
md5_tmp="${USERPROFILE}/$(basename "${input_hash}").tmp"
else
md5_tmp="${HOME}/$(basename "${input_hash}").tmp"
fi
ffmpeg -i "${input_file}" -loglevel 0 -f framemd5 -an "${md5_tmp}"
[[ ! -f "${md5_tmp}" ]] && { echo -e "${RED}Error: '${input_file}' is not a valid audio-visual file.${NC}" ; _output_prompt ; }
unset old_file
unset tmp_file
old_file=$(grep -v '^#' "${input_hash}")
tmp_file=$(grep -v '^#' "${md5_tmp}")
if [[ "${old_file}" = "${tmp_file}" ]]; then
echo -e "${BLUE}'$(basename "${input_file}")' matches '$(basename "${input_hash}")'${NC}"
rm "${md5_tmp}"
else
echo -e "${RED}The following differences were detected between '$(basename "${input_file}")' and '$(basename "${input_hash}")':${NC}"
diff "${input_hash}" "${md5_tmp}"
rm "${md5_tmp}"
fi

26
scripts/ffmprovisr Executable file
View File

@@ -0,0 +1,26 @@
#!/usr/bin/env bash
# This allows to open ffmprovisr locally from the terminal.
if [[ ${OSTYPE} = "darwin"* ]] ; then
default_browser=$(plutil -convert json ~/Library/Preferences/com.apple.LaunchServices/com.apple.launchservices.secure.plist -r -o - | grep https -b1 | tail -n1 | cut -d'"' -f4)
if [ -d /usr/local/Cellar/ffmprovisr ] ; then
ffmprovisr_path=$(find /usr/local/Cellar/ffmprovisr -iname 'index.html' | sort -M | tail -n1)
fi
if [ -z "${ffmprovisr_path}" ] ; then
ffmprovisr_path='https://amiaopensource.github.io/ffmprovisr/'
fi
if [ -n "${default_browser}" ] ; then
open -b "${default_browser}" "${ffmprovisr_path}"
else
open "${ffmprovisr_path}"
fi
elif [[ ${OSTYPE} = "linux-gnu" ]] ; then
if [ -d ~/.linuxbrew/Cellar/ffmprovisr ] ; then
ffmprovisr_path=$(find ~/.linuxbrew/Cellar/ffmprovisr -iname 'index.html' | sort -M | tail -n1)
fi
if [ -z "${ffmprovisr_path}" ] ; then
ffmprovisr_path='https://amiaopensource.github.io/ffmprovisr/'
fi
xdg-open "${ffmprovisr_path}"
fi