ffmpeg -i original.mp4 -vf fps=25 out%04d.png
ffmpeg -framerate 25 -pattern_type glob -i '*.png' -c:v libx264 -pix_fmt yuv420p out.mp4
ffmpeg -i original.mp4 -vf fps=25 out%04d.png
ffmpeg -framerate 25 -pattern_type glob -i '*.png' -c:v libx264 -pix_fmt yuv420p out.mp4
mkdir ~/Desktop/screenshots
defaults write com.apple.screencapture location ~/Desktop/screenshots
killall SystemUIServer
/Users/username/Desktop/screenshots
.New screenshots (?+Shift+3, 4 or 5) are now stored in ~/Desktop/screenshots
.
Given that you have the AWS CLI installed and configured, here are a few examples of syncing directories with S3.
Sync your home directory:
[bash]
aws s3 sync $HOME s3://homeof$USER
[/bash]
E.g. $USER is sil and $HOME is /home/sil, then this will copy all files from /home/sil to bucket homeofsil.
To download the files back to another directory:
[bash]
mkdir $HOME/oldhome
aws s3 sync s3://homeof$USER $HOME/oldhome
[/bash]
More details about S3 Sync in the official documentation.
[bash]$ echo {0..9}
0 1 2 3 4 5 6 7 8 9[/bash]
[bash]$ echo b{a,e,i,o,u}
ba be bi bo bu
[/bash]
[bash]$ echo x{0..9}y
x0y x1y x2y x3y x4y x5y x6y x7y x8y x9y[/bash]
[bash]$ echo {a..z}
a b c d e f g h i j k l m n o p q r s t u v w x y z[/bash]
[bash]$ echo {1..3} {A..C}
1 2 3 A B C[/bash]
[bash]$ echo {1..3}{A..C}
1A 1B 1C 2A 2B 2C 3A 3B 3C[/bash]
[bash]echo {a,b{1,2,3},c}
a b1 b2 b3 c[/bash]
[bash]$ mkdir -p {project1,project2}/{src,tst,bin,lib}/
$ find .
.
./project1
./project1/tst
./project1/bin
./project1/lib
./project1/src
./project2
./project2/tst
./project2/bin
./project2/lib
./project2/src
[/bash]
[bash]$ echo {{A..Z},{a..z}}
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z[/bash]
[bash]$ for i in {a..f} 1 2 {3..5} ; do echo $i;done
a
b
c
d
e
f
1
2
3
4
5[/bash]
The examples below requires Bash version 4.0 or greater.
[bash]$echo {001..9}
001 002 003 004 005 006 007 008 009
[/bash]
[bash]$ echo {1..10..2}
1 3 5 7 9
[/bash]
Nem só de morte vive o kill.
Suponha que você tem um processo chamado program e quer congelar seu funcionamento. Para congela-lo sem mata-lo você pode mandar um sinal SIGSTOP com:
kill -s stop `pidof program`
Para ressuscitar o mesmo processo:
kill -s cont `pidof program`
Para o controle de qualidade quando encondando vÃdeos com o FFmpeg use o parâmetro -qscale seguido de um número. Os número podem ir de 1 (melhor qualidade) até 31 (pior qualidade), sendo que 13 já é uma qualidade bem ruim.
Convertendo pro exemplo um vÃdeo chamado exemplo.flv para um arquivo ogg com a melhor qualidade seria:
ffmpeg -i exemplo.flv -qscale 1 saida.ogg
Sem usar esse parâmetro os arquivos encodados em OGG ficam com uma qualidade mediana. Uma opção bem útil é usar a mesma qualidade do arquivo de entrada, já que não é possÃvel melhorar a qualidade do vÃdeo mesmo. Para isso existe o parâmetro -sameq. No exemplo anterior bastaria:
ffmpeg -i exemplo.flv -sameq saida.ogg
Com isso eu tenho reduzido os vÃdeos da minha câmera para arquivos que só ocupam cerca de 1/5 do tamanho original e ainda assim mantém a mesma qualidade.