Skip to content

Commit

Permalink
Merge branch 'release/2023.2.0'
Browse files Browse the repository at this point in the history
  • Loading branch information
voluntas committed Sep 8, 2023
2 parents 62224ef + ecf8a51 commit 05093c9
Show file tree
Hide file tree
Showing 127 changed files with 6,231 additions and 380 deletions.
File renamed without changes.
27 changes: 22 additions & 5 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ on:
- main
- master
- develop
- feature/*
tags:
- 202*
paths-ignore:
Expand All @@ -34,7 +33,7 @@ jobs:
shell: bash
run: |
sudo apt update
sudo apt install -yq yasm ccache libstdc++-10-dev-arm64-cross libc6-dev-arm64-cross binutils-aarch64-linux-gnu
sudo apt install -yq yasm ccache libstdc++-10-dev-arm64-cross libc6-dev-arm64-cross binutils-aarch64-linux-gnu libva-dev libdrm-dev
sudo rm -rf /var/lib/apt/lists/*
env:
DEBIAN_FRONTEND: noninteractive
Expand All @@ -50,6 +49,7 @@ jobs:
run: |
source VERSION
echo "libvpx_version=${LIBVPX_VERSION}" >> "$GITHUB_OUTPUT"
echo "svt_av1_version=${SVT_AV1_VERSION}" >> "$GITHUB_OUTPUT"
- name: Cache libvpx ${{ steps.versions.outputs.libvpx_version }}
id: cache-libvpx
uses: actions/cache@v3
Expand All @@ -60,6 +60,16 @@ jobs:
- name: Clear libvpx
if: steps.cache-libvpx.outputs.cache-hit != 'true'
run: rm -rf third_party/libvpx
- name: Cache SVT-AV1 ${{ steps.versions.outputs.svt_av1_version }}
id: cache-svt-av1
uses: actions/cache@v3
with:
path: third_party/SVT-AV1
key: ${{ matrix.os }}-third_party-svt-av1-${{ hashFiles('third_party/SVT-AV1/Bin/Release/libSvtAv1Dec.a', 'third_party/SVT-AV1/Bin/Release/libSvtAv1Enc.a') }}
restore-keys: ${{ matrix.os }}-third_party-svt-av1-
- name: Clear SVT-AV1
if: steps.cache-svt-av1.outputs.cache-hit != 'true'
run: rm -rf third_party/SVT-AV1
- name: Cache release directory
id: cache-release
uses: actions/cache@v3
Expand All @@ -83,6 +93,13 @@ jobs:
restore-keys: ${{ matrix.os }}-ccache-dir-
- name: Ccache stat
run: ccache -s
- name: Cache ~/.cache/bazel directory
uses: actions/cache@v3
with:
path: "~/.cache/bazel"
key: ${{ matrix.os }}-cache-bazel-dir
- name: Install numpy
run: pip install numpy
- name: Build hisui
run: ./build.bash ${{ matrix.os }} --package --use-ccache ${{ contains(matrix.os, '_x86_64') && '--with-test' || '' }}
timeout-minutes: 120
Expand Down Expand Up @@ -123,7 +140,7 @@ jobs:
if-no-files-found: error
- name: Slack Notification
if: failure()
uses: rtCamp/action-slack-notify@v2.2.0
uses: rtCamp/action-slack-notify@v2.2.1
env:
SLACK_CHANNEL: hisui
SLACK_COLOR: danger
Expand Down Expand Up @@ -203,7 +220,7 @@ jobs:
UBUNTU_VERSION=22.04
- name: Slack Notification
if: failure()
uses: rtCamp/action-slack-notify@v2.2.0
uses: rtCamp/action-slack-notify@v2.2.1
env:
SLACK_CHANNEL: hisui
SLACK_COLOR: danger
Expand Down Expand Up @@ -245,7 +262,7 @@ jobs:
${{ steps.env.outputs.package_paths }}
- name: Slack Notification
if: failure()
uses: rtCamp/action-slack-notify@v2.2.0
uses: rtCamp/action-slack-notify@v2.2.1
env:
SLACK_CHANNEL: hisui
SLACK_COLOR: danger
Expand Down
15 changes: 7 additions & 8 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,12 @@ on:
- main
- master
- develop
- feature/*
paths-ignore:
- 'doc/**'
- '**.md'
- 'THANKS'
- 'LICENSE'
- 'NOTICE'
- 'doc/**'
- '**.md'
- 'THANKS'
- 'LICENSE'
- 'NOTICE'

jobs:
lint:
Expand All @@ -28,7 +27,7 @@ jobs:
- name: Install packages
shell: bash
run: |
go get -u github.com/client9/misspell/cmd/misspell
go install github.com/client9/misspell/cmd/misspell@latest
sudo apt update
sudo apt install -yq shellcheck
sudo rm -rf /var/lib/apt/lists/*
Expand All @@ -41,7 +40,7 @@ jobs:
timeout-minutes: 120
- name: Slack Notification
if: failure()
uses: rtCamp/action-slack-notify@v2.2.0
uses: rtCamp/action-slack-notify@v2.2.1
env:
SLACK_CHANNEL: hisui
SLACK_COLOR: danger
Expand Down
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
/third_party/libvpx
/third_party/lyra/bazel-*
/third_party/lyra/lyra
/third_party/SVT-AV1
/test/integration/input/caminandes3.webm
/test/integration/input/lilac_blossom_bloom_spring.jpg
/test/integration/input/Big_Buck_Bunny_360_10s_1MB.webm
Expand Down
183 changes: 109 additions & 74 deletions CHANGES.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,156 +11,191 @@

## develop

## 2023.2.0

- [UPDATE] 依存ライブラリの更新をする
- `boost``1.83.0` にあげる
- `cpp-mp4``2023.2.1` にあげる
- `opus``1.4` にあげる
- @haruyama
- [CHANGE] one VPL での H.264 エンコードに対応する
- @haruyama
- [CHANGE] Lyra の デコードに対応する
- @haruyama
- [CHANGE] SVT-AV1 での AV1 デコード/エンコードに対応する
- @haruyama
- [CHANGE] OpenH264 での エンコードに対応する
- `--out-video-codec` オプションに H.264 の指定を追加する
- 画面共有合成機能では H.264 はサポートされない
- H.264 のチューニングオプションを追加する (ヘルプオプションには Debug でのみ表示される)
- `--openh264-threads` : エンコード時のスレッド数を指定するオプション [ default 1]
- `--openh264-min-qp` : 最小量子化パラメータを指定するオプション [0 - 51]
- `--openh264-max-qp` : 最大量子化パラメータを指定するオプション [0 - 51]
- 現時点で発見されている課題
- 合成した H.264 のファイルを再生時、シークバーを動かすと再生が止まる
- @haruyama
- [CHANGE] Hisui のオプションに `--version` を追加し、バージョン出力を追加する
- `Recording Composition Tool Hisui [バージョン]` で出力する
- @haruyama
- [CHANGE] ビルドオプションに `--build-type-debug` を追加し、デバッグビルドを追加する
- デバッグビルドを利用することで通常見えないオプションをヘルプオプションで見ることができるようになる
- @torikizi
- [FIX] `misspell` パッケージのインストールを `go get -u` から `go install` を利用するよう変更する
- @haruyama

## 2023.1.1

- [UPDATE] バージョンを 2023.1.1 に上げる
- [UPDATE] 依存ライブラリの `cpp-mp4``2023.1.1` にあげる
- @torikizi
- 依存ライブラリの `cpp-mp4``2023.1.1` にするアップデートも含む
- https://github.com/shiguredo/hisui/pull/118
- [FIX] config の typo を修正
- [FIX] ヘルプで表示される config の typo を修正する
- @torikizi
- https://github.com/shiguredo/hisui/pull/117

## 2023.1.0

- [FIX] --out-audio-codec の説明が間違っているのを修正
- [FIX] --out-audio-codec の説明が間違っているのを修正する
- @haruyama
- https://github.com/shiguredo/hisui/pull/110
- [CHANGE] tarball に "hisui-${HISUI_VERSION}" ディレクトリを含める
- @haruyama
- https://github.com/shiguredo/hisui/pull/108
- [UPDATE] 依存ライブラリの更新
- [UPDATE] 依存ライブラリの更新をする
- `boost``1.81.0` にあげる
- `CLI11``2.3.2` にあげる
- `fmt``9.1.0` にあげる
- `spdlog``1.11.0` にあげる
- `libvpx``v1.13.0` にあげる
- `cpp-mp4``2023.1.0` にあげる
- `stb``5736b15f7ea0ffb08dd38af21067c314d6a3aae9` にあげる
- @haruyama
- `boost``1.81.0`
- `CLI11``2.3.2`
- `fmt``9.1.0`
- `spdlog``1.11.0`
- `libvpx``v1.13.0`
- `cpp-mp4``2023.1.0`
- `stb``5736b15f7ea0ffb08dd38af21067c314d6a3aae9`
- https://github.com/shiguredo/hisui/pull/106
- [FIX] Safari, Windows Media Player での再生の問題を修正
- [FIX] Hisui で合成した MP4 ファイルが再生環境によって再生できない問題を修正する
- Safari, Windows Media Player, 映画&テレビ での再生を修正する
- @haruyama
- https://github.com/shiguredo/hisui/pull/104
- [CHANGE] layout: レイアウト指定ファイル, report-*.json, *.webm は sources から常に除外する
- [CHANGE] レイアウトに `*` のみを指定した場合、全てのレイアウトを指定したものとして扱うよう修正する
- layout: レイアウト指定ファイル, report-*.json, *.webm は sources から常に除外する
- @haruyama
- https://github.com/shiguredo/hisui/pull/103
- [FIX] Core dump する場合の修正
- [FIX] 例外と null 参照を修正する
- 一部のケースで core dump していたのを修正する
- @haruyama
- https://github.com/shiguredo/hisui/pull/101
- [FIX] オーバーラップする間隔の検査時に start < end な間隔のみを利用する
- レイアウトを使用したとき start = end なファイルが生成されていた場合エラーになっていたので修正する
- @haruyama
- https://github.com/shiguredo/hisui/pull/100
- [UPDATE] deprecated になった actions/create-release と actions/upload-release の利用をやめて softprops/action-gh-release を利用する
- @melpon
- [UPDATE] GitHub Actions の各種バージョンを上げる
- @melpon
- [ADD] Ubuntu 20.04 ARM64 ビルドに対応
- [ADD] Ubuntu 20.04 ARM64 ビルドに対応する
- @melpon
- [ADD] Ubuntu 22.04 に対応
- [ADD] Ubuntu 22.04 に対応する
- @melpon

## 2022.1.0

- [UPDATE] 依存ライブラリの更新
- [UPDATE] 依存ライブラリの更新をする
- `boost``1.78.0` にあげる
- `CLI11``2.1.2` にあげる
- `fmt``8.0.1` にあげる
- `spdlog``1.9.2` にあげる
- `rapidcsv``8.53` にあげる
- `libvpx``v.1.11.0` にあげる
- `cpp-mp4``2022.1.0` にあげる
- `stb``af1a5bc352164740c1cc1354942b1c6b72eacb8a` にあげる
- @haruyama
- `boost``1.78.0`
- `CLI11``2.1.2`
- `fmt``8.0.1`
- `spdlog``1.9.2`
- `rapidcsv``8.53`
- `libvpx``v.1.11.0`
- `cpp-mp4``2022.1.0`
- `stb``af1a5bc352164740c1cc1354942b1c6b72eacb8a`
- [CHANGE] Boost::JSON を header-only で利用する
- @haruyama
- https://github.com/shiguredo/hisui/pull/91
- [CHANGE] レイアウト機能
- [CHANGE] レイアウト機能を追加する
- `--layout` オプションを追加する
- JSON 形式で作成したレイアウトファイルを利用して自由に合成する機能を追加する
- @haruyama
- https://github.com/shiguredo/hisui/pull/48

## 2021.3

- [ADD] [実験的機能] 画面共有合成機能を追加する
- @haruyama
- https://github.com/shiguredo/hisui/pull/40
- [ADD] [実験的機能] 合成成功/失敗時にレポートを出力する
- @haruyama
- https://github.com/shiguredo/hisui/pull/30
- [UPDATE] `cpp-mp4``2021.3`
- @haruyama
- [UPDATE] `boost``1.76.0`
- `--screen-capture-report` を指定して合成すると他の合成データより優先して表示する
- 実験的機能として画面共有合成機能オプションを追加する
- `--screen-capture-report` : 画面共有のメタデータを指定するオプション
- `--screen-capture-connection-id` : 画面共有の Connection ID を指定するオプション
- `--screen-capture-width` : 画面共有の width を指定するオプション (正の整数で、4 の倍数であること) [default: 960]
- `--screen-capture-height` : 画面共有の height を指定するオプション (正の整数で、4の倍数であること) [default: 640]
- `--screen-capture-bit-rate` : 画面共有のビットレートを指定するオプション (Kbps) [default: 1000]
- `--mix-screen-capture-audio` : 画面共有の音声を合成するか指定するオプション [default: false]
- 注意点
- `--screen-capture-report` で指定されたものの中で時間が重なった合成データがある場合は そのうちの 1 つのみを利用する.
- @haruyama
- [ADD] [実験的機能] 合成成功/失敗時にレポートを出力する機能を追加する
- レポートは指定したディレクトリに出力する
- 実験的機能として合成成功/失敗時にレポートを出力するオプションを追加する
- `--success-report` : 合成成功時にレポートを出力するオプション (`{utc_datetime}_ {recoding_id}_success.json`)
- `--failure-report ` : 合成失敗時にレポートを出力するオプション (`{utc_datetime}_ {recoding_id}_failure.json`)
- 合成失敗レポートはコマンドライン引数の処理での失敗時には出力しない
- レポートの対象は以下のようにする
- 入力 (各ファイルごとに)
- 音声のデコーダー情報 (codec, channels, duration)
- 映像のデコーダー情報 (codec, duration)
- 映像の解像度の変化 (timestamp, widht, height)
- 出力(container, mux_type, video_codec, audio_codec, duration)
- hisui 自体と利用ライブラリのバージョン
- @haruyama
- [UPDATE] `cpp-mp4``2021.3` にあげる
- @haruyama
- [UPDATE] `boost``1.76.0` にあげる
- @haruyama

## 2021.2.3

- [FIX] PixelWidth/Height が 0 な VideoTrack を持つ WebM に対応するで混入したバグを修正する
- @haruyama
- https://github.com/shiguredo/hisui/pull/39

## 2021.2.2

- [FIX] PixelWidth/Height が 0 な VideoTrack を持つ WebM に対応する
- libwebm で不正なファイルとして扱われるため patch をあて, hisui 側で不正と判定するように変更する
- @haruyama
- https://github.com/shiguredo/hisui/pull/38

## 2021.2.1

- [FIX] --libvpx-therads が指定されていない場合の挙動を修正
- [FIX] --libvpx-therads が指定されていない場合の挙動を修正する
- @haruyama
- https://github.com/shiguredo/hisui/pull/34

## 2021.2

- [UPDATE] `libvpx``v1.10.0`
- [UPDATE] `libvpx``v1.10.0` にあげる
- @haruyama
- https://github.com/shiguredo/hisui/pull/31
- [CHANGE] libvpx のパラメータのデフォルト値を調整
- [CHANGE] libvpx のパラメータのデフォルト値を調整する
- @haruyama
- https://github.com/shiguredo/hisui/pull/31
- [UPDATE] --libvp9-row-mt コマンドラインオプションの追加
- [UPDATE] --libvp9-row-mt コマンドラインオプションを追加する
- @haruyama
- https://github.com/shiguredo/hisui/pull/31
- [UPDATE] --libvp9-tile-columns コマンドラインオプションの追加
- [UPDATE] --libvp9-tile-columns コマンドラインオプションを追加する
- @haruyama
- https://github.com/shiguredo/hisui/pull/24
- https://github.com/shiguredo/hisui/pull/28
- [UPDATE] WebM/MP4 Muxer の mux() を共通化
- [UPDATE] WebM/MP4 Muxer の mux() を共通化する
- @haruyama
- https://github.com/shiguredo/hisui/pull/23
- [ADD] 音声の mix のみを行なう --audio-only コマンドラインオプションの追加
- [ADD] 音声の mix のみを行なう --audio-only コマンドラインオプションの追加する
- @haruyama
- https://github.com/shiguredo/hisui/pull/26

## 2021.1.1

- [FIX] std::async で作った Future を get() し例外を伝播させる
- @haruyama
- https://github.com/shiguredo/hisui/pull/22
- [FIX] 解像度の変更が入っている H.264 の WebM を合成しようとすると落ちるのを修正
- https://github.com/shiguredo/hisui/pull/21
- [FIX] 解像度の変更が入っている H.264 の WebM を合成しようとすると落ちるのを修正する
- @haruyama

## 2021.1

- [ADD] OpenH264 を利用した WebM 中の H.264 の decode
- [ADD] OpenH264 を利用した WebM 中の H.264 の decode に対応する
- @haruyama
- [ADD] cpp-mp4 を利用した MP4 の出力
- [ADD] cpp-mp4 を利用した MP4 の出力に対応する
- @haruyama
- [ADD] libfdk-aac を利用した MP4 への AAC の出力
- [ADD] libfdk-aac を利用した MP4 への AAC の出力に対応する
- @haruyama
- [UPDATE] `boost``1.75.0`
- [UPDATE] `boost``1.75.0` にあげる
- @haruyama
- [UPDATE] `fmt``7.1.3`
- [UPDATE] `fmt``7.1.3` にあげる
- @haruyama
- [UPDATE] `spdlog``1.8.2`
- [UPDATE] `spdlog``1.8.2` にあげる
- @haruyama
- [CHANGE] `nlohmann::json` から `boost::json` への切り替え
- [CHANGE] `nlohmann::json` から `boost::json` へ切り替える
- @haruyama

## 2020.1.1

- [FIX] Video のない WebM ファイルを利用した場合の取り扱いを修正
- [FIX] Video のない WebM ファイルを利用した場合の取り扱いを修正する
- @haruyama

## 2020.1
Expand Down
Loading

0 comments on commit 05093c9

Please sign in to comment.