1
0
Files
bif_container/README.md
2025-06-13 17:05:58 -04:00

1.6 KiB

Purpose

Roku's BIF file creation tool for linux is out of date (last updated six years ago). It includes a dependency on libavformat.so.57, which is obsolete on all modern GNU/Linux distributions.

This container allows execution of the BIF creation tool using a container powered by the archived Debian version "Stretch", which includes the necessary version of the dependency.

Usage

After cloning the repository, build the image:

podman build -t [local-image-name] .

Add your input and output folders to env variables:

INPUT_DIR=[path]
OUTPUT_DIR=[path]

You will need to grant all users read access to your input dir, and write + execute access to your output dir:

chmod o+r $INPUT_DIR
chmod o+wx $OUTPUT_DIR

Now, you can run the script. The input dir should be bind mounted read-only, and output dir bind mounted read-write:

podman run --rm \
--mount="type=bind,src=$INPUT_DIR,dst=/media,ro" \
--mount="type=bind,src=$OUTPUT_DIR,dst=/output" \
localhost/[local-image-name] -- /media/path/to/video.mp4

The /media destination folder for the input dir is arbitrary. You can use any folder you like, as long as the file you pass as the execution argument is located within that folder.

Remote dependencies

The container fetches the following remote resources at build time.

  • Debian (Stretch) container iage from docker.io/library.
  • biftools_linux.zip file from rokudev/samples repository.
  • ffmpeg and unzip packages, the former of which contains deprecated library libavformat.so.57, from archive.debian.org.