| Readme: | Short: FFmpeg 9.0.2 - ffmpeg, ffplay and ffprobe Version: 9.0.2 Architecture: ppc-morphos Requires: MorphOS 3.x, sdl2.library 2.32.x (latest), openssl4.library, z.library, bz2.library, lzma.library, freetype.library, harfbuzz.library
FFmpeg 9.0.2 for MorphOS ========================
FFmpeg records, converts and streams audio and video. This archive holds the three command line tools:
ffmpeg convert, record and stream ffplay media player (SDL2) ffprobe information about files and streams
Requirements ------------
- MorphOS 3.x on a G3, G4, G5 or e5500 CPU. The AltiVec routines are used when the CPU has AltiVec; the same binaries run without it. - ffplay: the latest sdl2.library 2.32.11 minimun (07102026)
MorphOS port -------------------
- Built with GCC 9.5 and the current MorphOS SDK. The static libraries were rebuilt for this SDK where needed. - Shared libraries: OpenSSL 4 (openssl4.library, was openssl3.library), freetype.library (was linked in), lzma.library (new: LZMA compressed TIFF), z, bz2 and harfbuzz. - Library versions: libaom 3.14.1 (AV1), x265 4.2 (HEVC), x264 core 164, dav1d 1.5.4, opus 1.5.2, libgme 0.6.4, fribidi 1.0.16. - AltiVec is detected at run time and only used by the AltiVec routines, so the same binaries run on CPUs with and without AltiVec. - Network rewritten: * sockets are handled with bsdsocket.library calls only. The 6.1 port closed them with C library calls, which could corrupt memory and crash NetStack, for example when quitting an HLS or DASH stream; * a socket can be used by several tasks, so ffmpeg reads network inputs in its threads: HTTP, HTTPS, HLS, DASH, RTMP and web radios work in ffmpeg, ffplay and ffprobe; * RTMP uses FFmpeg's own implementation (rtmp, rtmps, rtmpe, rtmpt) instead of librtmp; * HTTPS and RTMPS through OpenSSL 4. - ffplay: * uses the SDL2 "overlay" renderer (cgxvideo VLayer) by default: YUV video goes straight to the overlay, the graphics card does the colour conversion and the scaling; * -renderer overlay|opengl|software chooses the SDL2 renderer (the SDL_RENDER_DRIVER variable works too); * the stream is opened and closed in the reading thread: no more freeze when quitting a network stream; * needs the latest sdl2.library
Libraries in this build: x264, x265, xvid, libaom, dav1d, opus, vorbis, theora, mp3lame, libwebp, libgme, libmodplug, freetype, harfbuzz, fribidi, libxml2, OpenSSL, zlib, bzip2, lzma, SDL2.
Usage -----
ffplay video.mp4 ffplay "https://test-streams.mux.dev/x36xhzz/url_6/193039199_mp4_h264_aac_hq_7.m3u8" ffmpeg -i input.mkv -c:v libx264 -preset fast -c:a aac output.mp4 ffmpeg -i "https://.../stream.m3u8" -t 60 -c copy RAM:record.ts ffprobe video.mp4
Keep the quotes around URLs in the Shell (? and # are wildcards).
ffplay keys: q or Esc quit, f full screen, Space pause, left/right seek -10/+10 s, up/down -1/+1 min, m mute, 9/0 volume.
On a slow CPU, ffplay -fast and -skip_loop_filter nonref (or all) make H.264 and HEVC lighter, at the price of some artefacts.
Sources and license -------------------
FFmpeg 9.0.2 from https://ffmpeg.org with the MorphOS patch.
FFmpeg is licensed under the LGPL 2.1 or later. This build is configured with --enable-gpl --enable-version3 (for x264, x265, xvid and OpenSSL 4), so these binaries are under the GPL version 3 or later, see https://ffmpeg.org/legal.html.
MorphOS port: BeWorld
|