mirakc / mirakc-arib

mirakc-tools for Japanese TV broadcast contents
Apache License 2.0
24 stars 6 forks source link
arib epg mirakc mpeg-ts

mirakc-arib

mirakc-tools for Japanese TV broadcast contents

CI coverage

How to build

Get the repository including the Git submodule:

git clone --recursive https://github.com/mirakc/mirakc-arib.git

Make sure that tools listed below has already been installed:

Then:

cmake -S . -B build -G Ninja -D CMAKE_BUILD_TYPE=Release
ninja -C build vendor
ninja -C build
build/bin/mirakc-arib -h

Cross compilation

Use a CMake toolchain file like below:

cmake -S . -B build -G Ninja -D CMAKE_BUILD_TYPE=Release \
  -D CMAKE_TOOLCHAIN_FILE=/path/to/toolchain.cmake
ninja -C build vendor
ninja -C build

Content shown below is a CMake toolchain file which can be used for a cross compilation on a Debian-based Linux distribution, targeting AArch64 like ROCK64:

set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_SYSTEM_PROCESSOR aarch64)

set(MIRAKC_ARIB_HOST_TRIPLE aarch64-linux-gnu)

set(CMAKE_C_COMPILER ${MIRAKC_ARIB_HOST_TRIPLE}-gcc)
set(CMAKE_C_COMPILER_TARGET ${MIRAKC_ARIB_HOST_TRIPLE})

set(CMAKE_CXX_COMPILER ${MIRAKC_ARIB_HOST_TRIPLE}-g++)
set(CMAKE_CXX_COMPILER_TARGET ${MIRAKC_ARIB_HOST_TRIPLE})

Make sure that a toolchain for the cross compilation has been installed before running cmake with a CMake toolchain file.

Several CMake toolchain files are included in the toolchain.cmake.d folder.

How to test

cmake -S . -B build -G Ninja -D CMAKE_BUILD_TYPE=Debug -D MIRAKC_ARIB_TEST=ON
ninja -C build vendor
ninja -C build test

Logging

Define the MIRAKC_ARIB_LOG environment variable like below:

cat file.ts | MIRAKC_ARIB_LOG=info mirakc-arib scan-services

One of the following log levels can be specified:

Why not use tsp?

tsp creates a thread for each plug-in. This approach can work effectively when running a single tsp with multiple plug-ins.

Usages of mirakc-arib are different from tsp:

Dependencies

mirakc-arib is static-linked against the following libraries:

The following libraries are used for testing purposes:

TODO

ARIB STD Specifications

ARIB STD specifications can be freely downloaded from this page.

Acknowledgments

mirakc-arib is implemented based on knowledge gained from the following software implementations:

License

Licensed under either of

at your option.

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this project by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.