50 lines
2.0 KiB
Markdown
50 lines
2.0 KiB
Markdown
# Purpose
|
|
|
|
Roku's [BIF file creation tool](https://developer.roku.com/docs/developer-program/media-playback/trick-mode/bif-file-creation.md) 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:
|
|
|
|
```sh
|
|
podman build -t [local-image-name] .
|
|
```
|
|
|
|
Add your input and output folders to env variables:
|
|
|
|
```sh
|
|
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:
|
|
|
|
```sh
|
|
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:
|
|
|
|
```sh
|
|
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`.
|
|
|
|
# Licensing
|
|
|
|
The `LICENSE` file in this repository applies solely to the software contained within. All images built and distributed using this recipe will contain software with more restrictive licensing. It's the responsibility of the image builder/distributed to avoid infringing the copyright of any software included in an image.
|