Last active
May 12, 2022 18:15
-
-
Save JamesJJ/487c12436b1d3756a9c3eff4fbb8d7c3 to your computer and use it in GitHub Desktop.
FFMpeg commands for various video encoding
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# val vrTranscodeMp4Args = AppConfigLib.getConfig[String]("CONTENT_VERIFY_TRANSCODE_MP4_ARGS").getOrElse( | |
# "-movflags faststart -c:v libx264 -s 1920x1080 -b:v 6M -c:a aac -b:a 128k -loglevel warning -y -nostats") | |
# val vrTranscodeWebmArgs = AppConfigLib.getConfig[String]("CONTENT_VERIFY_TRANSCODE_WEBM_ARGS").getOrElse( | |
# "-c:v libvpx -s 1920x1080 -crf 20 -b:v 6M -c:a libvorbis -slices 2 -threads 4 -loglevel warning -y -nostats") | |
# val mvrTranscodeMp4Args = AppConfigLib.getConfig[String]("CONTENT_VERIFY_TRANSCODE_MVR_MP4_ARGS").getOrElse( | |
# "-movflags faststart -pix_fmt yuv420p -profile:v main -level 4.1 -c:v libx264 -s 1280x720 -b:v 2M -c:a aac -b:a 128k -loglevel warning -y -nostats") | |
# val mvrTranscodeWebmArgs = AppConfigLib.getConfig[String]("CONTENT_VERIFY_TRANSCODE_MVR_WEBM_ARGS").getOrElse( | |
# "-c:v libvpx -s 1280x720 -crf 20 -b:v 4M -c:a libvorbis -slices 2 -threads 4 -loglevel warning -y -nostats") | |
#### ABOVE FROM CONTENT_VERIFY 2020/01 | |
## --------------------------------------------- | |
#### BELOW FROM BEFORE (2018?) | |
cd /tmp | |
echo;echo;echo '== h264 1100' | |
ffmpeg -y -i "$1" -movflags faststart -pix_fmt yuv420p -c:v libx264 -b:v 1100k -pass 1 -c:a aac -b:a 128k -f mp4 /dev/null && \ | |
ffmpeg -i "$1" -movflags faststart -pix_fmt yuv420p -c:v libx264 -b:v 1100k -pass 2 -c:a aac -b:a 128k "$1--h264-1100.mp4" | |
echo;echo;echo '== h264 1600' | |
ffmpeg -y -i "$1" -movflags faststart -pix_fmt yuv420p -c:v libx264 -b:v 1600k -pass 1 -c:a aac -b:a 128k -f mp4 /dev/null && \ | |
ffmpeg -i "$1" -movflags faststart -pix_fmt yuv420p -c:v libx264 -b:v 1600k -pass 2 -c:a aac -b:a 128k "$1--h264-1600.mp4" | |
echo;echo;echo '== h264 2200' | |
ffmpeg -y -i "$1" -movflags faststart -pix_fmt yuv420p -c:v libx264 -b:v 2200k -pass 1 -c:a aac -b:a 128k -f mp4 /dev/null && \ | |
ffmpeg -i "$1" -movflags faststart -pix_fmt yuv420p -c:v libx264 -b:v 2200k -pass 2 -c:a aac -b:a 128k "$1--h264-2200.mp4" | |
echo;echo;echo '== h264 3600' | |
ffmpeg -y -i "$1" -movflags faststart -pix_fmt yuv420p -c:v libx264 -b:v 3600k -pass 1 -c:a aac -b:a 128k -f mp4 /dev/null && \ | |
ffmpeg -i "$1" -movflags faststart -pix_fmt yuv420p -c:v libx264 -b:v 3600k -pass 2 -c:a aac -b:a 128k "$1--h264-3600.mp4" | |
#echo;echo;echo '== h265 1100' | |
#ffmpeg -y -i "$1" -movflags faststart -pix_fmt yuv420p -c:v libx265 -b:v 1100k -x265-params pass=1 -c:a aac -b:a 128k -f mp4 /dev/null && \ | |
#ffmpeg -i "$1" -movflags faststart -pix_fmt yuv420p -c:v libx265 -b:v 1100k -x265-params pass=2 -c:a aac -b:a 128k "$1--h265-1100.mp4" | |
# | |
#echo;echo;echo '== h265 1600' | |
#ffmpeg -y -i "$1" -movflags faststart -pix_fmt yuv420p -c:v libx265 -b:v 1600k -x265-params pass=1 -c:a aac -b:a 128k -f mp4 /dev/null && \ | |
#ffmpeg -i "$1" -movflags faststart -pix_fmt yuv420p -c:v libx265 -b:v 1600k -x265-params pass=2 -c:a aac -b:a 128k "$1--h265-1600.mp4" | |
# | |
#echo;echo;echo '== h265 2200' | |
#ffmpeg -y -i "$1" -movflags faststart -pix_fmt yuv420p -c:v libx265 -b:v 2200k -x265-params pass=1 -c:a aac -b:a 128k -f mp4 /dev/null && \ | |
#ffmpeg -i "$1" -movflags faststart -pix_fmt yuv420p -c:v libx265 -b:v 2200k -x265-params pass=2 -c:a aac -b:a 128k "$1--h265-2200.mp4" | |
# | |
#echo;echo;echo '== h265 3600' | |
#ffmpeg -y -i "$1" -movflags faststart -pix_fmt yuv420p -c:v libx265 -b:v 3600k -x265-params pass=1 -c:a aac -b:a 128k -f mp4 /dev/null && \ | |
#ffmpeg -i "$1" -movflags faststart -pix_fmt yuv420p -c:v libx265 -b:v 3600k -x265-params pass=2 -c:a aac -b:a 128k "$1--h265-2200.mp4" | |
#echo;echo;echo '== webm 1600avg' | |
#ffmpeg -i "$1" -c:v libvpx-vp9 -minrate 600k -b:v 1100k -maxrate 1400k "$1--webm-11avg.webm" | |
# | |
#echo;echo;echo '== webm 1600avg' | |
#ffmpeg -i "$1" -c:v libvpx-vp9 -minrate 1000k -b:v 1600k -maxrate 2000k "$1--webm-16avg.webm" | |
# | |
#ffmpeg -y -i "$1" -c:v libvpx-vp9 -b:v 1600k -pass 1 -speed 4 -c:a libopus -f webm /dev/null && \ | |
#ffmpeg -y -i "$1" -c:v libvpx-vp9 -b:v 1600k -pass 2 -speed 1 -c:a libopus "$1--webm-1600.webm" | |
# | |
#ffmpeg -y -i "$1" -c:v libvpx-vp9 -b:v 2200k -pass 1 -speed 4 -c:a libopus -f webm /dev/null && \ | |
#ffmpeg -y -i "$1" -c:v libvpx-vp9 -b:v 2200k -pass 2 -speed 1 -c:a libopus "$1--webm-2200.webm" | |
# | |
#ffmpeg -y -i "$1" -c:v libvpx-vp9 -b:v 3600k -pass 1 -speed 4 -c:a libopus -f webm /dev/null && \ | |
#ffmpeg -y -i "$1" -c:v libvpx-vp9 -b:v 3600k -pass 2 -speed 1 -c:a libopus "$1--webm-3600.webm" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
H264 is good as above.
VP9 is very slow to encode (0.002 x) ... could drop to VP8 instead ...
H265 using the above commands doesn't work well in Quicktime/VLC (maybe need to check if
pix_fmt yuv420p
should be removed for H265)