Resources for stuff
This is basically just a bunch of bookmarks that are useful to me, and perhaps to others as well.
FFMPEG windows build:
https://www.gyan.dev/ffmpeg/builds/ffmpeg-git-essentials.7z
Beandog's x264 preset reference:
http://dev.beandog.org/x264_preset_reference.html
Integer scaling calculator:
https://bneijt.nl/pr/resolution-scale-calculator/
Basic and reasonable bitrate calculator:
https://www.dr-lex.be/info-stuff/videocalc.html
NVIDIA nvenc support matrix:
https://developer.nvidia.com/video-encode-and-decode-gpu-support-matrix-new
FFMPEG one-liners dump
Check for keyframes
ffprobe -loglevel error -skip_frame nokey -select_streams v:0 -show_entries frame=pkt_pts_time -of csv=print_section=0 input.mp4
Available encoders, and help/params for them
ffmpeg -encoders
ffmpeg -h encoder=h264_nvenc
Produce a test stream with SMPTE, audio and timecode. 1080p25 to srt
ffmpeg -f lavfi -i smptebars=duration=600:size=1920x1080:rate=25 -f lavfi -re -i sine=frequency=500:duration=6000:sample_rate=48000 -vf drawtext="fontsize=15:timecode='00\:00\:00\:00':rate=25:text='TCR\:':fontsize=72:fontcolor='white':\boxcolor=0x000000AA:box=1:x=860-text_w/2:y=960" -pix_fmt yuv420p -c:v libx264 -b:v 4000k -g 50 -keyint_min 50 -profile:v high -preset veryfast -f mpegts srt://127.0.0.1:10000
FFMPEG useful parameters:
start at time: -ss 60 / 01:30:05 (sec or time, prior to -i)
length: -t 60 (sec, prior to output)
CBR padding: -nal-hrd cbr
Benchmark: -benchmark (provides time to completion)
Read at native FR: -re (will encode/send at the same speed as source, useful for streaming video files and testing)