3 PlayingH.264
Cameron Kaiser edited this page 2019-03-31 17:58:14 -07:00

Internet video playback is supported only on 1.25GHz or faster G4 or G5 computers. It is not supported on slower G4 systems or any G3 system.

TenFourFox comes with built-in support for MP3 audio and WebM (VP8/VP9) and Theora (VP3) video formats, and has AltiVec acceleration for VP8 and VP9 on G4 and G5 computers. However, a substantial amount of Web video is now only available in H.264 (AVC or MPEG-4 Part 10) format and due to patent licensing the codecs cannot be embedded in TenFourFox (or Firefox).

The TenFourFox MP4 Enabler gets around the licensing problem by providing MPEG-4/H.264 decoding in a separate library. You install the libraries on your Power Mac and then when attempting to play an H.264 video, TenFourFox will look for the library and use it to play the video if the library is present. H.264 video is supported in TenFourFox FPR14 and later versions and works on both Tiger and Leopard.

The stripped down FFmpeg decoder used by the MP4 Enabler has AltiVec acceleration for faster decoding, and is multithreaded on G5 systems. When the library is installed, it is also used for decoding MP3 audio and Theora video due to its AltiVec optimizations.

Important limitations

Many sites now use H.264 video in place of images or occasionally as backgrounds. This may slow down lower-spec computers when multiple videos are being decoded at once, and some systems with 1GB or less of memory may run out. TenFourFox has emergency lockout code that immediately cancels all currently playing H.264 videos in any tab if any one of them runs out of memory to avoid a fatal browser crash. If all video playback stops suddenly, check the log in Console.app to see if the lockout triggered. At least 2GB of RAM is advised for best results.

H.264 video may only be available in high bit-rate formats which can be taxing for slower systems to decode. On Vimeo and YouTube, stop playback if the video is already playing, click the gear menu, and select a lower quality stream. Most G4 systems should not play bitrates greater than 240p or 144p; most G5 systems should not exceed 360p.

Don't attempt to play HD video with TenFourFox in any format; the result will likely be unsatisfactory.

Installation

  1. Download the latest version from SourceForge. The version numbers correspond to the release of the Enabler and the embedded version of the ffmpeg libraries. New versions are released intermittently. Make sure to get the proper version for your computer (G5 for all G5 systems; 7450 for all supported G4 machines).

  2. Quit TenFourFox and any open foxboxes.

  3. Run the Enabler. The Enabler will check you're running it on the right CPU and remind you to quit the browser if you have not already done so, and if you have ever installed the libraries before, it will verify you want to overwrite them with the new version.

  4. The Enabler will save the libraries to Library/TenFourFox-FFmpeg in your home folder.

  5. Restart TenFourFox. Play any H.264 content; it should automatically find the library and start playing the video.

H.264 support is new and may have bugs. Please report bugs you discover with your system configuration and the offending site or video to Tenderapp.

Technical notes

Playback support is currently based on FFmpeg 3.4.x; the browser does not yet support codecs from later versions of FFmpeg, including AV1. This may be supported in a future version.

The libraries provided are stripped down and are not intended for use by any other application than TenFourFox. In particular, they do not have any encoders, muxers or protocols, and some decoders and demuxers that are not supported by any Web video format have been removed. In addition, VP8 and VP9 are explicitly disabled to use TenFourFox's built-in AltiVec-enabled libvpx which has better performance than the version included.

If you want to build your own libraries with different options, TenFourFox requires libavcodec, libavformat and libavutils. Only ABI versions 57/55 and 56/54 (from FFmpeg 3.4.x and 2.8.x respectively) are currently supported. Quit the browser, place them into ~/Library/TenFourFox-FFmpeg and restart the browser. If 3.4.x and 2.8.x libraries are installed simultaneously, the 3.4.x libraries are preferred. No technical support is provided for using your own custom libraries.

For GPL compliance, the configurations, patches (if any), build scripts and installer code are provided in the same download directory as each version of the MP4 Enabler. Xcode 2.5, Platypus 4.4 and GNU make 3.81 or later are required to build the Enabler.