tsreplace 0.11

- "-e"使用時の挙動を改善。

 - エンコーダが処理中に異常終了した場合に、処理を早期に終了するように。

 - エンコーダのエラーコードを取得して反映するように。

 - Linuxでゾンビプロセスが残る可能性があったのを修正。



ダウンロード>>

オプションについてはこちら。
オプション一覧>


tsreplace 0.10

Linux版のみの更新。

- --encoderを使用した場合に、エンコード終了時にフリーズしてしまう問題を修正。



ダウンロード>>

オプションについてはこちら。
オプション一覧>


tsreplace 0.09

- 入力ファイルの置き換え対象サービスの映像PIDとPCRのPIDが一致してしいる場合の処理に対応。
実装の簡単化のため、置き換え後はPCRと映像を別PIDとなるようにして対応した。



ダウンロード>>

オプションについてはこちら。
オプション一覧>


tsreplace 0.08

- Ubuntu 24.04用のパッケージを追加。
- 使用するffmpegのモジュールをffmpeg 7.0ベースに更新。 (Windows版)

- 置き換え対象のサービス以外をdropするように変更。
- 処理対象のサービスを選択するオプションを追加。 (-s, --service)
- データ放送のパケットを削除するオプションを追加。 (--remove-typed)

全サービスを録画したtsに対する処理の強化。

録画の場合、両方のチャンネルが欲しいというケースはあまり考えにくいので、あまり全サービス録画することはないと思ってあまり真面目に対応していなかったけど、今回処理を追加してみた。

全サービス録画するとこんな感じで、例えばTOKYO MXだとMX1とMX2が混ざったファイルができる。(通常はMX1かMX2を指定して「指定サービス」の録画をすることになるとは思う。)

tsreplace_0_08_tokyomx1_2_20240713.png

これまでは、こうしたファイルに対してtsreplaceで置き換えをすると、MX1だけ置き換えて、MX2はそのままだったので、サイズが十分圧縮できなかった。

今回の更新では、置き換える対象のサービスを選択できるようにして(-sで指定、MX1なら"-s 1st"、MX2なら"-s 2nd")、さらに置き換え対象外のサービスは削除するようにして(デフォルトでオン)、よりサイズを圧縮するようにしてみた。

また、意外とデータ放送が容量をとっている場合があるので、これを削除するオプションも追加してみた(--remove-typed、これはデフォルトはオフ)。

結果としては、こんな感じで、これまでと比べて、tsreplace 0.08では全サービス録画したファイルに対してもかなりサイズを圧縮できるようになったと思う。

tsreplace_0_08_20240713_02.png



ダウンロード>>

オプションについてはこちら。
オプション一覧>


tsreplace 0.07

- オリジナルtsの入力ファイルを標準入力から受け取れるように。
tsreadex等の前処理との組み合わせを想定。

- エンコーダをtsreplaceから呼び出して、エンコードしながら置き換えできるように。
下の図のようなイメージ。使い方はこちら
tsreplace_internal_encoder_20231223.png


- オリジナルtsの読み込みを別スレッドで実施するように。

- 使用するffmpegのモジュールをffmpeg 6.1ベースに更新。



ダウンロード>>

オプションについてはこちら。
オプション一覧>


tsreplace 0.06

- 入出力ファイルが同じの場合、エラー終了するように。
上書き防止のため。

- dtsベースのmuxに変更。
Bフレーム数が多い場合の映像と音声の混ざりぐらいを改善。ただ、Bフレームが多いと、ややシークしづらい傾向にあるかもなので、あまり増やさないほうがよさそう。



ダウンロード>>

オプションについてはこちら。
オプション一覧>


tsreplace 0.05

H.264インタレ保持エンコードした場合の置き換えに対応。
これまで対応していなかったH.264インタレ保持エンコードした場合の置き換えに対応。

私自身はインタレは解除してしまう派だけど、使いたい人もいるかなということで対応。

tsreplace_20231021_qsv_h264_interlaced.jpg

使用例はこちらに記載したので、インタレ保持をしたい場合は確認してみてください。

ハードウェアエンコードしたい場合は、GPUによってはインタレ保持に非対応なので注意。

Intel QSV
PGモードの使えるQSVが必要(FFモードは非対応のはず)。

大雑把にいうとGeminilakeを除くRaptorlakeまでのIntel内蔵GPUになると思う。(Meteorlakeはおそらく非対応になりそう?)

NVIDIA NVENC
Pascal世代までのGPUと、Turing世代の一部(TU117)。製品でいうとGTX10xxまでと、GTX16xxの一部。

GTX16xxは対応(TU117)と非対応(TU116)が混ざっていたはず…。



ダウンロード>>

オプションについてはこちら。
オプション一覧>


tsreplace 0.02

tsの映像だけをQSV/NV/VCEEncやffmpeg等でエンコードしたH.264やHEVCに置き換えたtsを作成するツールをtsukumi様のご協力をいただきながら作りました。

字幕だけでなく、番組情報・時刻情報・文字スーパー・データ放送等をすべて残しつつ、映像部分を圧縮したtsに置き換えることができます。

tsreplace_image_20231110.png




※ 2023.07.31 21:55追記
tsreplace 0.02に更新しました。
ご指摘いだいた、tsreplace 0.01でdropが発生してしまっていた問題を修正しました。
問題箇所・修正方法もお教えいただき、ありがとうございました。



想定動作環境



Windows 10/11 (x86/x64)
Linux (Ubuntu 20.04/22.04 ほか) (x64)



使用方法



まず、オリジナルのtsをエンコードします。出力ファイルはmp4,mkv,ts等、timstampを保持できる形式にします(raw ES不可)。

のちに作る映像置き換えtsファイルのシークを円滑にするため、GOP長はデフォルトより短めのほうがよいと思います。

QSVEncC64.exe -i <入力tsファイル> [インタレ解除等他のオプション] --gop-len 60 -o <置き換え映像ファイル>

次にtsreplaceを使って、エンコードした映像に置き換えたtsを作成します。

tsreplace.exe -i <入力tsファイル> -r <置き換え映像ファイル> -o <出力tsファイル>



また、下記のようにエンコードしながら置き換えを行うこともできます。この場合、Powershellを使用するとPowershell側のパイプ渡しの問題でうまく動作しないため、コマンドプロンプトをご利用ください。

QSVEncC64.exe -i <入力tsファイル> [インタレ解除等他のオプション] --gop-len 60 --output-format mpegts -o - | tsreplace.exe -i <入力tsファイル> -r - -o <出力tsファイル>



その他のオプションについてはこちらを確認してください。



注意事項



自己責任で使用してください。本ソフトウェアを使用した結果について、責任は負いません。



制限事項



下記については、対応予定はありません。

・カット編集等の行われたtsおよび映像ファイルは、置き換え時の同期が困難なため非対応です。

・入力tsファイルの制限
 - 188byte tsのみ対応しています。
 - 解像度変更のあるtsについての動作は検証しません。

・置き換え映像ファイルの制限
 - H.264/HEVCの置き換えのみ対応します。
 - 置き換えファイルはmp4/mkv/ts等のtimestampを保持できるコンテナ入りの映像を想定しています。 raw ESでの動作は検証しません。



ダウンロード>>

オプションについてはこちら。
オプション一覧>


プロフィール

rigaya

Author:rigaya
アニメとか見たり、エンコードしたり。
連絡先: [email protected]
github twitter

最新記事
最新コメント
カテゴリ
月別アーカイブ
カウンター
検索フォーム
いろいろ
公開中のAviutlプラグインとかのダウンロード

○Aviutl 出力プラグイン
x264guiEx 3.xx
- x264を使用したH264出力
- x264guiExの導入紹介動画>
- x264guiExの導入
- x264guiExのエラーと対処方法>
- x264.exeはこちら&gt

x265guiEx
- x265を使用したH.265/HEVC出力
- x265guiExの導入>
- x265.exeはこちら&gt

QSVEnc + QSVEncC
- QuickSyncVideoによるHWエンコード
- QSVEnc 導入/使用方法&gt
- QSVEncCオプション一覧&gt

NVEnc + NVEncC
- NVIDIAのNVEncによるHWエンコード
- NVEnc 導入/使用方法&gt
- NVEncCオプション一覧&gt

VCEEnc + VCEEncC
- AMDのVCE/VCNによるHWエンコード
- VCEEnc 導入/使用方法&gt
- VCEEncCオプション一覧&gt

svtAV1guiEx
- SVT-AV1によるAV1出力
- svtAV1guiExの導入>
- SVT-AV1単体はこちら&gt

VVenCguiEx
- VVenCによるVVC出力
- VVenCguiExの導入>

ffmpegOut
- ffmpegを使用した出力
- ffmpegOutの導入>


○Aviutl フィルタプラグイン
自動フィールドシフト
- SSE2~AVX512による高速化版
- オリジナル: aji様

clcufilters 
- OpenCL/CUDAのGPUフィルタ集
- 対応フィルタの一覧等はこちら

エッジレベル調整MT
- エッジレベル調整の並列化/高速化
- SSE2~AVX512対応
- オリジナル: まじぽか太郎様

バンディング低減MT
- SSE2~AVX512による高速化版
- オリジナル: まじぽか太郎様

PMD_MT
- SSE2~AVX512による高速化版
- オリジナル: スレ48≫989氏

透過性ロゴ (ミラー)
- SSE2~FMA3によるSIMD版
- オリジナル: MakKi氏

AviutlColor
- BT.2020nc向け色変換プラグイン
- BT.709/BT.601向けも同梱

○その他
Amatsukaze改造版
- AmatsukazeのAV1対応版

tsreplace
- tsの映像のみを置き換えて圧縮

rkmppenc
- Rockchip系SoCのhwエンコーダ

fawutil
- FAW(FakeAACWave)⇔aac変換
- 二重音声の取り扱いにも対応

x264afs (ミラー)
- x264のafs対応版

aui_indexer (使い方>)
- lsmashinput.aui/m2v.auiの
 インデックス事前・一括生成

auc_export (ミラー使い方>)
- Aviutl Controlの
 エクスポートプラグイン版
 エクスポートをコマンドから

aup_reseter
- aupプロジェクトファイルの
 終了フラグを一括リセット

CheckBitrate (使い方)
- ビットレート分布の分析(HEVC対応)

チャプター変換 (使い方>)
- nero/appleチャプター形式変換

エッジレベル調整 (avisynth)
- Avisynth用エッジレベル調整

メモリ・キャッシュ速度測定
- スレッド数を変えて測定
- これまでの測定結果はこちら

○ビルドしたものとか
L-SMASH (ミラー)
x264 (ミラー)
x265 (ミラー)
SVT-AV1 (ミラー)

○その他
サンプル動画
その他

○読みもの (ミラー)
Aviutl/x264guiExの色変換
動画関連ダウンロードリンク集
簡易インストーラの概要

○更新停止・公開終了
改造版x264gui
x264guiEx 0.xx
RSSリンクの表示
リンク
QRコード
QR