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)