Skip to content

Instantly share code, notes, and snippets.

@eladkarako
Last active August 1, 2026 17:29
Show Gist options
  • Select an option

  • Save eladkarako/3b5d1a2503f782b2823d4889a6e2f1d5 to your computer and use it in GitHub Desktop.

Select an option

Save eladkarako/3b5d1a2503f782b2823d4889a6e2f1d5 to your computer and use it in GitHub Desktop.
tiny script to keep the binaries of ffmpeg ffprobe ffplay updated (download, unpack, generate help files)
::@echo off
chcp 65001 1>nul 2>nul
pushd "%~sdp0.."
set "TARGET_FOLDER=%CD%"
popd
set "TEMP_FOLDER=%TEMP%\ffmpeg_%RANDOM%"
mkdir "%TEMP_FOLDER%"
pushd "%TEMP_FOLDER%"
::"powershell.exe" -NoProfile Invoke-WebRequest -MaximumRedirection 2 -Uri "" -OutFile "ffmpeg-win64-nonfree-shared.tar.zst"
"curl.exe" --disable --insecure --anyauth --tlsv1.2 --ssl-no-revoke --ssl-revoke-best-effort --doh-insecure --ipv4 --location-trusted --resolve "security.cloudflare-dns.com:443:1.1.1.2" --doh-url "https://security.cloudflare-dns.com/dns-query" --url "https://github.com/nanake/ffmpeg-tinderbox/releases/latest/download/ffmpeg-win64-nonfree-shared.tar.zst" --output-dir "%CD%" --output "ffmpeg-win64-nonfree-shared.tar.zst"
if ["%ErrorLevel%"] neq ["0"] ( goto END )
"7za.exe" e -y -o"%CD%" "ffmpeg-win64-nonfree-shared.tar.zst"
"7za.exe" e -y -o"%CD%" "ffmpeg-win64-nonfree-shared.tar"
move /y ".\*.dll" "%TARGET_FOLDER%"
move /y ".\*.exe" "%TARGET_FOLDER%"
popd
pushd "%TARGET_FOLDER%"
"ffplay.exe" -hide_banner --help full 1>"readme_ffplay.txt" 2>&1
"ffprobe.exe" -hide_banner --help full 1>"readme_ffprobe.txt" 2>&1
"ffmpeg.exe" -hide_banner --help full 1>"readme_ffmpeg.txt" 2>&1
"ffmpeg.exe" -hide_banner -bsfs 1>"readme_ffmpeg_bsfs.txt" 2>&1
"ffmpeg.exe" -hide_banner -buildconf 1>"readme_ffmpeg_buildconf.txt" 2>&1
"ffmpeg.exe" -hide_banner -codecs 1>"readme_ffmpeg_codecs.txt" 2>&1
"ffmpeg.exe" -hide_banner -colors 1>"readme_ffmpeg_colors.txt" 2>&1
"ffmpeg.exe" -hide_banner -decoders 1>"readme_ffmpeg_decoders.txt" 2>&1
"ffmpeg.exe" -hide_banner -demuxers 1>"readme_ffmpeg_demuxers.txt" 2>&1
"ffmpeg.exe" -hide_banner -devices 1>"readme_ffmpeg_devices.txt" 2>&1
"ffmpeg.exe" -hide_banner -dispositions 1>"readme_ffmpeg_dispositions.txt" 2>&1
"ffmpeg.exe" -hide_banner -encoders 1>"readme_ffmpeg_encoders.txt" 2>&1
"ffmpeg.exe" -hide_banner -filters 1>"readme_ffmpeg_filters.txt" 2>&1
"ffmpeg.exe" -hide_banner -formats 1>"readme_ffmpeg_formats.txt" 2>&1
"ffmpeg.exe" -hide_banner -hwaccels 1>"readme_ffmpeg_hwaccels.txt" 2>&1
"ffmpeg.exe" -hide_banner -layouts 1>"readme_ffmpeg_layouts.txt" 2>&1
"ffmpeg.exe" -hide_banner -muxers 1>"readme_ffmpeg_muxers.txt" 2>&1
"ffmpeg.exe" -hide_banner -pix_fmts 1>"readme_ffmpeg_video_pix_fmts.txt" 2>&1
"ffmpeg.exe" -hide_banner -protocols 1>"readme_ffmpeg_protocols.txt" 2>&1
"ffmpeg.exe" -hide_banner -sample_fmts 1>"readme_ffmpeg_audio_sample_fmts.txt" 2>&1
"ffmpeg.exe" -hide_banner -version 1>"readme_ffmpeg_version.txt" 2>&1
popd
:END
timeout /t 5 1>&2
exit /b 0
::
:: https://github.com/nanake/ffmpeg-tinderbox/releases/
:: updater - ffmpeg for Windows.
::
:: - download (github release - latest - shared - includes DLL files).
:: - unpack (uses 7za.exe. needs 7zip folder in system PATH).
:: - move to target folder which is in system PATH (you may change this).
:: - generate few text "help" files.
::
:: - note: downloads without check if newer is available. always overrides current version.
:: - note: powershell downloader is an alternative to curl.
:: - note: your Windows 10+ already should have curl (C:\Windows\System32)
::
:: - updated "curl.exe" - https://curl.se/windows/latest.cgi?p=win64-mingw.zip
:: - 7zip with zstandard codec - https://github.com/mcmilk/7-Zip-zstd/releases/
::
::
:: suggested installation.
:: D:\Software\ffmpeg
:: (for all your ffmpeg batch files and scripts)
:: create a new folder named "updater"
:: place this batch file in-it.
:: run "update.cmd"
::
:: you will get under target folder:
::
:: avcodec-63.dll
:: avdevice-63.dll
:: avfilter-12.dll
:: avformat-63.dll
:: avutil-61.dll
:: swresample-7.dll
:: swscale-10.dll
::
:: ffmpeg.exe
:: ffplay.exe
:: ffprobe.exe
::
:: readme_ffplay.txt
:: readme_ffprobe.txt
:: readme_ffmpeg.txt
:: readme_ffmpeg_muxers.txt
:: readme_ffmpeg_demuxers.txt
:: readme_ffmpeg_devices.txt
:: readme_ffmpeg_decoders.txt
:: readme_ffmpeg_encoders.txt
:: readme_ffmpeg_version
:: readme_ffmpeg_video_pix_fmts.txt
:: readme_ffmpeg_audio_sample_fmts.txt
:: readme_ffmpeg_filters.txt
::
:: latest version of this script is in:
:: https://gist.githubusercontent.com/eladkarako/3b5d1a2503f782b2823d4889a6e2f1d5/raw/ffmpeg_updater.cmd
:: leave comments on
:: https://gist.github.com/eladkarako/3b5d1a2503f782b2823d4889a6e2f1d5#file-ffmpeg_updater-cmd
::
::
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment