NVEnc 4.22v2

English version of changelog>>

[共通]
・yuv420のlossless出力に対応。
いつの間にか(?)、できるようになっていたのですね。

コメントいただき、ありがとうございました。

[NVEncC]
・Caption.dllによる字幕抽出処理を仮実装。(--caption2ass)
Caption2AssのCaption.dllを使用してtsから字幕を抽出してassかsrtとしてmuxする機能。とりあえずできるようになっただけの状態なので、まだ問題とか残ってるかも。

使い方としては、Caption.dllを別途用意して、NVEncCと同じフォルダに入れて、--caption2assを指定するだけ。

注意点として、mp4へはassもsrtもmuxできないのでmkvなどへのmuxが必要となる。また、muxしない場合(rawで出力する場合)とかは、実装してないので使用できません。

…mp4へのmuxとか、どうすればいいのかなあ。字幕とかあんまり詳しくないのでよくわからない。

・--check-featuresでGPU名が正しく表示されていなかったのを修正。

・--check-featuresにバージョン情報も出力するように。

・--check-environmentの出力先をstderrからstdoutに。



[NVEnc 4.22v2] (※2018/11/3 23.37)
NVEnc 4.22でlosslessでないときもlosslessと表示されてしまっていたのを修正。



ダウンロード>>
ダウンロード (ミラー) >>
OneDriveの調子がいまいちの時はミラー(GDrive)からどうぞ。同じものです。

ソースはこちら>>


スポンサーサイト



コメントの投稿

非公開コメント

字幕のmp4へのmuxについて

mp4へのmuxをお考えでしたら、srtをttxt(ffmpeg/avformatでいうとmov_text)に変換する手もございます。
ただ再生側がサポートしなかったりしますし、スタイル・ポジショニングのできるass+mkvのほうが使い勝手良いと思います。
(なおmuxせずass/srtだけ抽出すれば十分な気がしますが、そりゃCaption2Assを使えば十分(ry

MP4 の規格では字幕ストリームはサポートされてない

ISOBMFF はそもそも最近まで字幕ストリームというものをサポートしてなかったからねぇ。テキストストリームというのは 3GPP がサポートしていたのだけど。(tx3g ね)
ISOBMFF としての字幕ストリームとなると SMPTE Timed Text かあるいは WebVTT になるかな。

No title

いろいろ教えていただきありがとうございます。やはりmp4の字幕は難しそうですが、とりあえずはmov_textに変換するのが現実的な線でしょうか。

ただまあ、字幕をmuxした状態で扱うなら素直にmkvでいいのかもしれないですね。

Caption2Assの小ネタ

軽くコードを眺めただけですが、二つばかしコメを。

(1) タイポ
NVEncCore/rgy_caption.h(62)
"drwa" → "draw"

(2) Caption2Assにおけるタイムスタンプ周りのTips

Caption2Assは入力元のMPEG-TSに合わせた字幕を得るツールとなっています。

NVEncCore/rgy_caption.cpp(1127)
> pCapLine->startTime = (PTS > m_timestamp.startPCR) ? (DWORD)(PTS - m_timestamp.startPCR) : 0;
この計算の通り、抽出字幕のタイムスタンプはMPEG-TS内から最初に検出されるPCRを起点(00:00:00.000)としています。
※ 映像/音声無し(orスクランブル状態)のMPEG-TSからも字幕抽出が可能

映像/音声の開始位置を起点としない為、エンコード後のファイルに抽出字幕を合わせて使用すると、「エンコード後ファイルの起点(となる元映像フレーム)のPTS - PCR」分、表示タイミングがズレた字幕となってしまいます。
(この為、私作の字幕カットツールでは入力元のMPEG-TSのチェックを行い、入力手段に応じたdelay値を算出し調整を行っている)

抽出字幕をNVEncで出力したエンコード後のファイルに合わせた字幕とする場合、起点を入力元のMPEG-TSから最初に得られる映像のPTSに変更する必要があるかと思われます。
rgy_caption.cpp/.h のちょい確認しかしていないので別箇所で調整が図られている場合はスミマセンが戯言として聞き流して下さい。

----
ちなみに、私個人は字幕は外部ファイルのままにした方が後で内容を調整できるので下手にMuxしない方が良いと思う派です。

Re: Caption2Assの小ネタ

maki様

コメントいただきありがとうございます。

また、CaptionAssのコード、かなりの部分そのまま使わせていただきました。こちらも御礼申し上げます。

> (1) タイポ
ご指摘ありがとうございます。


> (2) Caption2Assにおけるタイムスタンプ周りのTips
実はstartTime(とendTime)は計算しているものの、これはmaki様のオリジナルと同じ処理ができているか確認のためのデバッグ出力用になっています。このログ出力でCaption2Ass_PCR.exeの出力と同じ結果が得られることを確認し、実装の妥当性の検証方法の一つとさせていただいています。

一方、muxer側には生の(そのままの)ptsとdurationで渡しており(NVEncCore/rgy_caption.cpp(1154))、muxer側で最初の映像のptsに対して補正をかけています。この処理の流れは、他の音声等のストリームの実装に合わせるためです。

…というのはご指摘のように全く分かりにくいので、少なくともなにかコメントを追記したいと思います…。


> ちなみに、私個人は字幕は外部ファイルのままにした方が後で内容を調整できるので下手にMuxしない方が良いと思う派です。
なるほど…。わたしはどちらかというとファイルを移動したりする際に1ファイルになっていたほうがいい派なのでmuxする方を実装してしまいましたが、たしかに、別ファイルのほうがその後の取り回しがしやすい(いろいろ自由が利く)面がありますね。
プロフィール

rigaya

Author:rigaya
アニメとか見たり、エンコードしたり。
連絡先(@を半角にしてください!)
rigaya34589@live.jp
github

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

○Aviutlプラグイン
x264guiEx 2.xx (ミラー)
- x264を使用したH264出力
- x264guiExの導入>
- x264.exeはこちら>

x265guiEx (ミラー)
- x265を使用したH.265/HEVC出力
- x265.exeはこちら>

QSVEnc + QSVEncC (ミラー)
- QuickSyncVideoによるH264出力
- QSVEncCはコマンドライン版
- QSVEncC 導入/使用方法>
- QSVEncCオプション一覧>

NVEnc + NVEncC (ミラー)
- NVIDIAのNVEncによるH264出力
- NVEncCオプション一覧>

VCEEnc + VCEEncC (ミラー)
- AMDのVCEによるH.264出力
- VCEEncCオプション一覧>

svtAV1guiEx (ミラー)
- SVT-AV1によるAV1出力

ffmpegOut (ミラー)
- ffmpeg/avconvを使用した出力

自動フィールドシフト (ミラー)
- SSE2~AVX2による高速化版
- オリジナル: aji様

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

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

PMD_MT (ミラー)
- SSE2~FMA3による高速化版
- オリジナル: スレ48≫989氏

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

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

○その他
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 (ミラー)

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

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

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