FFPlay modesty

"DESCRIPTION
FFplay is a very simple and portable media player using the FFmpeg libraries and the SDL library. It is mostly used as a testbed for the various FFmpeg APIs."
says
info ffplay
too modestly.

Alternative players are unusably buggy. E.g. Media Player (Version 11.2505.2.0 © 2025 Microsoft) - C:\Program Files\WindowsApps\Microsoft.ZuneMusic_11.2505.2.0_x64__8wekyb3d8bbwe - with Windoze 10. E.g. a different (but similarly named) program which is also with Windoze 10: Windows Media Player - C:\Program Files (x86)\Windows Media Player\WMPlayer.exe - which in my experiences is less buggy than Media Player but still unusably buggy. If this MegaScoria software would not be so buggy, then I would not have written this webpage to congratulate FFPlay programmers! Congratulations and thanks!

A minor FFPlay bug

The first fault in ffplay that I detected was when I tried to unpause it with a huge circa 4-gigabyte 74-hour MPEG-4 file at 137675.46 seconds (38 hours).

("Not responding 0% [CPU] 9.1 MB MB/s 0 Mbps Very low [Power usage] Very low [Power usage trend]" said Windoze-10 Task Manager specifically about ffplay but circa 7% CPU and 82% Memory and 23% "Disk" and 0% Network for processes overall. It still was not responding and playing after circa 2 hours so I aborted ffplay.

This paused and aborted command is like
ffplay -ss 137670 -showmode 1 2024_11_11_23_04_45.m4a

Another minor FFPlay bug

The second fault in ffplay that I detected is that the display of the elapsed seconds at the lower left part of a console continues to be animated but in an erratic manner when the end of a file had been played.

FFPlay is generally not buggy

I detect no other fault in ffplay.

FFPlay can play a big 4-gigabyte 74-hour M4A file almost well

2024_11_11_23_04_45.m4a is big. Audacity_graph_on_4-gigbyte_file_after_many_tens_of_minutes_opening.png

2024_11_11_23_04_45.m4a is so big that Audacity needs many tens of minutes to open it. Audacity_took_13_minutes_when_prediciting_50_more_minutes_to_open_4-gigabyte_file.png

Audacity can be used to process audio files. Alas a normal storage product is too small for Audacity to fully handle a 74-hour recording. "As a guideline, one hour of stereo recording at default settings (44.1kHz, 32-bit) occupies approximately 1.2 GB of disk space" warns HTTPS://manual.AudacityTeam.org/man/error_disk_full_or_not_writable.html but alas this quotation can inspire unjustified optimisim. 4-gigabyte 74-hour Recording 2024_11_11_23_04_45.m4a makes Audacity demand more than 74 GB but it is not even stereo! Cf.

ffprobe 2024_11_11_23_04_45.m4a
ffprobe version 7.1.1-full_build-www.gyan.dev Copyright (c) 2007-2025 the FFmpeg developers
built with gcc 14.2.0 (Rev1, Built by MSYS2 project)
configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-lcms2 --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-libsnappy --enable-zlib --enable-librist --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-libdvdnav --enable-libdvdread --enable-sdl2 --enable-libaribb24 --enable-libaribcaption --enable-libdav1d --enable-libdavs2 --enable-libopenjpeg --enable-libquirc --enable-libuavs3d --enable-libxevd --enable-libzvbi --enable-libqrencode --enable-librav1e --enable-libsvtav1 --enable-libvvenc --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxeve --enable-libxvid --enable-libaom --enable-libjxl --enable-libvpx --enable-mediafoundation --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-libharfbuzz --enable-liblensfun --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-dxva2 --enable-d3d11va --enable-d3d12va --enable-ffnvcodec --enable-libvpl --enable-nvdec --enable-nvenc --enable-vaapi --enable-libshaderc --enable-vulkan --enable-libplacebo --enable-opencl --enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libcodec2 --enable-libilbc --enable-libgsm --enable-liblc3 --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint
libavutil 59. 39.100 / 59. 39.100
libavcodec 61. 19.101 / 61. 19.101
libavformat 61. 7.100 / 61. 7.100
libavdevice 61. 3.100 / 61. 3.100
libavfilter 10. 4.100 / 10. 4.100
libswscale 8. 3.100 / 8. 3.100
libswresample 5. 3.100 / 5. 3.100
libpostproc 58. 3.100 / 58. 3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '.\2024_11_11_23_04_45.m4a':
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: isommp42
creation_time : 2024-11-15T01:22:36.000000Z
com.android.version: 8.1.0
Duration: 73:46:16.00, start: 0.000000, bitrate: 129 kb/s
Stream #0:0[0x1](eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, mono, fltp, 128 kb/s (default)
Metadata:
creation_time : 2024-11-15T01:22:36.000000Z
handler_name : SoundHandle
vendor_id : [0][0][0][0]
Audacity_demands_too_many_hundreds_of_gigabytes_to_process_a_4GB_audio_file.png

FFMPEG can copy a small part of a big file to a small file for playing by an inadequate player.

ls -l --human-readable 2024_11_11_23_04_45.m4a ; ls -l 2024_11_11_23_04_45.m4a ; ./ffprobe 2024_11_11_23_04_45.m4a ; date ; time ./ffmpeg -copyts -ss 151498 -to 152117 -i 2024_11_11_23_04_45.m4a Canvasser_about_murders_at_9_minutes_past_5pm_on_Wednesday_13th_November_2024__-copyts.m4a ; date
-r--r--r-- 1 Owner None 4.0G Jul 1 21:34 2024_11_11_23_04_45.m4a
-r--r--r-- 1 Owner None 4294966427 Jul 1 21:34 2024_11_11_23_04_45.m4a
ffprobe version 7.1.1-full_build-www.gyan.dev Copyright (c) 2007-2025 the FFmpeg developers
built with gcc 14.2.0 (Rev1, Built by MSYS2 project)
configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-lcms2 --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-libsnappy --enable-zlib --enable-librist --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-libdvdnav --enable-libdvdread --enable-sdl2 --enable-libaribb24 --enable-libaribcaption --enable-libdav1d --enable-libdavs2 --enable-libopenjpeg --enable-libquirc --enable-libuavs3d --enable-libxevd --enable-libzvbi --enable-libqrencode --enable-librav1e --enable-libsvtav1 --enable-libvvenc --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxeve --enable-libxvid --enable-libaom --enable-libjxl --enable-libvpx --enable-mediafoundation --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-libharfbuzz --enable-liblensfun --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-dxva2 --enable-d3d11va --enable-d3d12va --enable-ffnvcodec --enable-libvpl --enable-nvdec --enable-nvenc --enable-vaapi --enable-libshaderc --enable-vulkan --enable-libplacebo --enable-opencl --enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libcodec2 --enable-libilbc --enable-libgsm --enable-liblc3 --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint
libavutil 59. 39.100 / 59. 39.100
libavcodec 61. 19.101 / 61. 19.101
libavformat 61. 7.100 / 61. 7.100
libavdevice 61. 3.100 / 61. 3.100
libavfilter 10. 4.100 / 10. 4.100
libswscale 8. 3.100 / 8. 3.100
libswresample 5. 3.100 / 5. 3.100
libpostproc 58. 3.100 / 58. 3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '2024_11_11_23_04_45.m4a':
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: isommp42
creation_time : 2024-11-15T01:22:36.000000Z
com.android.version: 8.1.0
Duration: 73:46:16.00, start: 0.000000, bitrate: 129 kb/s
Stream #0:0[0x1](eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, mono, fltp, 128 kb/s (default)
Metadata:
creation_time : 2024-11-15T01:22:36.000000Z
handler_name : SoundHandle
vendor_id : [0][0][0][0]
Mon Jul 28 12:36:42 BST 2025
ffmpeg version 7.1.1-full_build-www.gyan.dev Copyright (c) 2000-2025 the FFmpeg developers
built with gcc 14.2.0 (Rev1, Built by MSYS2 project)
configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-lcms2 --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-libsnappy --enable-zlib --enable-librist --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-libdvdnav --enable-libdvdread --enable-sdl2 --enable-libaribb24 --enable-libaribcaption --enable-libdav1d --enable-libdavs2 --enable-libopenjpeg --enable-libquirc --enable-libuavs3d --enable-libxevd --enable-libzvbi --enable-libqrencode --enable-librav1e --enable-libsvtav1 --enable-libvvenc --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxeve --enable-libxvid --enable-libaom --enable-libjxl --enable-libvpx --enable-mediafoundation --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-libharfbuzz --enable-liblensfun --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-dxva2 --enable-d3d11va --enable-d3d12va --enable-ffnvcodec --enable-libvpl --enable-nvdec --enable-nvenc --enable-vaapi --enable-libshaderc --enable-vulkan --enable-libplacebo --enable-opencl --enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libcodec2 --enable-libilbc --enable-libgsm --enable-liblc3 --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint
libavutil 59. 39.100 / 59. 39.100
libavcodec 61. 19.101 / 61. 19.101
libavformat 61. 7.100 / 61. 7.100
libavdevice 61. 3.100 / 61. 3.100
libavfilter 10. 4.100 / 10. 4.100
libswscale 8. 3.100 / 8. 3.100
libswresample 5. 3.100 / 5. 3.100
libpostproc 58. 3.100 / 58. 3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '2024_11_11_23_04_45.m4a':
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: isommp42
creation_time : 2024-11-15T01:22:36.000000Z
com.android.version: 8.1.0
Duration: 73:46:16.00, start: 0.000000, bitrate: 129 kb/s
Stream #0:0[0x1](eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, mono, fltp, 128 kb/s (default)
Metadata:
creation_time : 2024-11-15T01:22:36.000000Z
handler_name : SoundHandle
vendor_id : [0][0][0][0]
Stream mapping:
Stream #0:0 -> #0:0 (aac (native) -> aac (native))
Press [q] to stop, [?] for help
Output #0, ipod, to 'Canvasser_about_murders_at_9_minutes_past_5pm_on_Wednesday_13th_November_2024__-copyts.m4a':
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: isommp42
com.android.version: 8.1.0
encoder : Lavf61.7.100
Stream #0:0(eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, mono, fltp, 69 kb/s (default)
Metadata:
creation_time : 2024-11-15T01:22:36.000000Z
handler_name : SoundHandle
vendor_id : [0][0][0][0]
encoder : Lavc61.19.101 aac
[out#0/ipod @ 0000017edfe28600] video:0KiB audio:5246KiB subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: 2.001785%
size= 5351KiB time=00:09:43.12 bitrate= 75.2kbits/s speed=83.8x
[aac @ 0000017edfe64400] Qavg: 240.641

real 0m7.636s
user 0m0.000s
sys 0m0.031s
Mon Jul 28 12:36:50 BST 2025

I used Audacity to censor in HTTP://Gloucester.Insomnia247.NL/stailc_teanga/La_Eile_gan_ghraiscinteacht.webm cursing in hilarious La Eile.

MegaScoria

MegaScoria makes bugs but persons still use Windoze! (Access this hyperlink then press "TECHNICAL".)

"Windows 10 is being updated way too frequently (twice a year) and each new version changes something that breaks Classic Shell." complains a Classic-Shell programmer since 2017.

Recordings are important.

Recordings are legal and important.