レス数が1スレッドの最大レス数(1000件)を超えています。残念ながら投稿することができません。
Amatsukaze その1
AmatsukazeはTSファイルをエンコしてmp4やmkvにするソフトです。
https://github.com/nekopanda/Amatsukaze/blob/master/README.md
どうぞ
報告になります
以前実装していただいた【メイン_インタレ解除KFM-SVP-60p(CPU).avs】を使用したところ、字幕ファイルの処理後に下記のエラーが発生いたしました
AMT [info] [字幕ファイル生成]
AMT [info] 字幕ファイル生成完了: 0.00秒
AMT [error] Exception thrown at x:\switch\visual studio 2015\projects\amatsukaze\amatsukaze\FilteredSource.hpp:247
Message: System exception - Illegal Instruction
(D:/Amatsukaze/exe_files/plugins64/QTGMC.avsi, line 862)
(D:/Amatsukaze/exe_files/plugins64/QTGMC.avsi, line 620)
(D:/Amatsukaze/exe_files/plugins64/KFMDeint.avsi, line 69)
(D:/Amatsukaze/exe_files/plugins64/KFMDeint.avsi, line 76)
(D:/Amatsukaze/exe_files/plugins64/KFMDeint.avsi, line 83)
(D:\Amatsukaze\avs\メイン_インタレ解除KFM-SVP-60p(CPU).avs, line 3)
別のPCでも試してみましたが、同じくline 3の部分でエラーが表示されて止まりました。
設定は
x265
メイン_インタレ解除KFM-SVP-60p(CPU).avs
ポスト_(インタレ解除前提)デバンド+エッジ強調(CPU)
他はデフォルトになります。
クライアントログの内容は以下になります。
2018/07/18 07:48:47 [0] Args: D:\Amatsukaze\exe_files\AmatsukazeCLI.exe -i "D:\succeeded\failed\failed\test.ts" -s 1 --drcs "D:\Amatsukaze\drcs\drcs_map.txt" -w "F:\TMP" --chapter-exe "D:\Amatsukaze\exe_files\chapter_exe.exe" --jls "D:\Amatsukaze\exe_files\join_logo_scp.exe" --cmoutmask 2 -o "D:\succeeded\failed\encoded\test.mp4" -et x265 -e "D:\Amatsukaze\exe_files\x265_2.8+19_x64.exe" -j "D:\succeeded\failed\encoded\test-enc.json" --mp4box "D:\Amatsukaze\exe_files\mp4box.exe" -t "D:\Amatsukaze\exe_files\timelineeditor.exe" -fmt mp4 -m "D:\Amatsukaze\exe_files\muxer.exe" -bcm 0.5 -f "D:\Amatsukaze\avs\メイン_インタレ解除KFM-SVP-60p(CPU).avs" -pf "D:\Amatsukaze\avs\ポスト_(インタレ解除前提)デバンド+エッジ強調(CUDA).avs" --jls-cmd "D:\Amatsukaze\JL\JL_標準.txt" --ignore-no-logo
こちらは使用する前になにか別途用意など必要でしょうか。
yadifmod2使ったCPUでのインタレ解除環境の作り方をぶっちろぐって人がブログに書いてるよ
ここは凄く参考になります。答えて下さる方いつもありがとうございます。
NVEncをエンコーダーに選択し、
エンコーダーオプションとして
-output-depth 10 --vpp-afs 24fps=true,timecode=true -c hevc
を指定しても、最終的な出力動画のフレームレートが24pにならないのはどうして
でしょうか?
VLCのコーデック情報によるとフレームレート59.94と表示され、出力された
ファイルサイズも大きめです。
>>84
情報ありがとうございます
ttps://bucci.bp7.org/archives/40997
こちらのサイトを参考に【Amatsukaze\exe_files\plugins64】の中へTIVTC.dll(TIVTC1.0.10)とyadifmod2.dll/yadifmod2_avx2.dll(yadifmod2 0.0.4)をコピーしたのですが、処理結果の内容は全く同じでした
他に前準備で足りないものがあるのでしょうか
もし参照しているページが間違えている場合、正しいページを教えていただけないでしょうか。
>>86
ややこしくしてすいません
84のぶっちろぐの記事はyadifmod2方式のインタレ解除の手順で、KFMとは関係ない別の話題です
yadifmod2インタレ解除を試すには
1.記事にある二つのdllはx64のを使う
2.記事にあるスクリプトを
メイン_ぶっち24p.avsとかにしてavsフォルダに入れて、これを使うプロファイルを作る
です
0.5で使うときにスクリプトに手を入れたかもしれないので
帰宅後に確認します
>>87
ご確認ありがとうございます
こちらこそ良くわかっていなくてすみません
dllはx64の物をコピーしました
また、使用したいのはメイン_インタレ解除KFM-SVP-60p(CPU)なのですが、こちらの参考サイトのスクリプトで同じ内容が再現できるということでしょうか
>>88
違いますよ
>>80 の
>その環境でx265使いたいなら、CPUでインタレ解除するavs書いたほうがいいかも
>D3DVP().SelectEven()かTFM+TDecimateかYadifmo2+TDecimateあたり?
を受けてのレスなんで
>>89
失礼しました。誤解をしていました
こちらの環境がおかしくなっている可能性もあるので、amatsukaze関連を一旦全て消して最初からやり直してみます。
お手数おかけして申し訳ありませんでした
>>90 ご期待に沿えなくてすいません
yadifmod2インタレ解除手順書きかけてたんでまとめときます
https://bucci.bp7.org/archives/40997 を参考にしました
https://github.com/pinterf/TIVTC/releases のTIVTC-v1.0.10.7zをダウンロード
TIVTC-v1.0.10\x64\TIVTC.dll をexe_files\plugins64にコピー
https://github.com/chikuzen/yadifmod2/releases のyadifmod2-0.0.4.zipをダウンロード
yadifmod2-0.0.4\x64\のyadifmod2.dllかyadifmod2_avx2.dllをexe_files\plugins64にコピー
メイン_Yadifmod2_24FPS化(CPU).avsを以下の内容で作成
src=AMT_SOURCE
src.AssumeTFF()
Yadifmod2(mode=0, order=-1, field=-1).TDecimate(mode=1, hybrid=0)
AssumeBFF()
メイン_Yadifmod2_30FPS化(CPU).avsを以下の内容で作成
src=AMT_SOURCE
src.AssumeTFF()
Yadifmod2(mode=0, order=-1, field=-1)
AssumeBFF()
リサイズをする場合は、AssumeBFF()の前の行に
BlackmanResize(1280,720)
などを入れるか
ポスト_リサイズ1280(CPU).avsを以下のように作成
Import("SamplePostFilter.avs")
src=AMT_SOURCE
BlackmanResize(1280,720).Prefetch(4)
IsProcess("AvsPmod.exe") ? ConvertBits(8, dither=0) : last
>>85
そのオプションだと
> Message: vpp-afsオプションに誤りがあります。24fps化する場合は間引き(drop)もonにする必要があります
ってエラーになるけど、どうやってエンコードしたの?
>>83
>>20 と同じではなくて?
それともcore i7 8700でそのエラーが出る?
>>※**(重要)x265でエンコードする場合、インタレ解除が必須なので、GTX1060以上のNVIDIA GPU搭載PC推奨です。CUDAが使えないと残念な速度になります!**
GTX960なんだけど1060のCUDAとそんなに違うの?
というか960だとCUDAのインタレ解除できないの?
>>94
できるよ。1060は快適にできる目安
>>92
自分の環境だとなぜかエラーが出ません。でも、dropがないせいで
正しく出力されないのですから、さっそく試してみたいと思います。
念のため、エンコード時の最初のログをはります。
>C:\Amatsukaze\exe_files\AmatsukazeCLI.exe -i "douga.ts" -s 1048 --drcs
>"C:\Amatsukaze\drcs\drcs_map.txt" -w "C:\Users\foo\AppData\Local\Temp"
> --chapter-exe "C:\Amatsukaze\exe_files\chapter_exe.exe" --jls
>"C:\Amatsukaze\exe_files\join_logo_scp.exe" --cmoutmask 1
>-o "douga.mkv" -et NVEnc -e "C:\NVEnc\NVEncC\x64\NVEncC64.exe"
>-j "douga-enc.json" -eo "-c hevc" -fmt mkv -m "C:\Amatsukaze\exe_files\mkvmerge.exe"
>-bcm 0.5 -f "C:\Amatsukaze\avs\メイン_インタレ解除D3DVP(NVIDIA GPU)(Win8以降).avs"
>--subtitles --jls-cmd "C:\Amatsukaze\JL\JL_標準.txt" --ignore-no-logo --ignore-no-drcsmap
> --no-delogo
>>96
> -eo "-c hevc"
エンコーダオプションが "-c hevc" しか入ってないよ
>>97
確かに渡ってませんね
ありがとうございます。オプション見直してみます。
そう言えばうちの環境ではAmatsukaze0.6.0.0+1060+NvEnc_4.09でサンプルNvenc自動フィールドシフト24fpsが音ズレするようです
0.4.0.1ではtimelineeditorを呼んでいますが
0.6.0.0では呼んでません
出力フォーマットをmp4,字幕はoff,tempにファイルを残す設定にして出力したmp4に
timelineeditorでtempに残したtimecode.txtを適用するとズレは直りました
エンコードの設定はプロファイルのサンプルにある NVEnc 自動 フィールドシフト 24p
ですが、エンコードの途中で失敗します。
プロファイルを選択するとエンコーダの追加オプションに以下が入ります。
--vpp-afs preset=anime,24fps=true,timecode=true -c hevc --profile main10
これがログです
>AMT [info] [エンコーダ起動]
>AMT [info] "C:\NVEnc\NVEncC\x64\NVEncC64.exe" --colorprim bt709 --transfer bt709 --colormatrix bt709 --vpp-afs preset=anime,24fps=true,timecode=true -c hevc --profile main10 -o "C:\Users\syo\AppData\Local\Temp\amt5230083/v0-0.raw" --format raw --y4m -i -
>FFMPEG [info] Output #0, yuv4mpegpipe, to '-':
>FFMPEG [info] Stream #0:0: Video: wrapped_avframe, yuv420p(bt709, progressive), 1440x1080 [SAR 4:3 DAR 16:9], q=2-31, 200 kb/s, 59.94 fps, 59.94 tbn
>AMT [error] Exception thrown at x:\switch\visual studio 2015\projects\amatsukaze\amatsukaze\ProcessThread.hpp:219
>Message: failed to write to stdin pipe
>AMT [error] Exception thrown at x:\switch\visual studio 2015\projects\amatsukaze\amatsukaze\ReaderWriterFFmpeg.hpp:784
>Message: failed to input frame due to encoder error ...
>AMT [error] Exception thrown at x:\switch\visual studio 2015\projects\amatsukaze\amatsukaze\ProcessThread.hpp:87
>Message: DataPumpThread error
>Please set input interlace field order (--interlace tff/bff) for vpp-afs.
>AMT [error] Exception thrown at x:\switch\visual studio 2015\projects\amatsukaze\amatsukaze\ReaderWriterFFmpeg.hpp:805
>Message: encode failed (encoder exit code: 1)
パイプの書き込みに失敗していると書かれていますが、どういうことでしょうか?
>>99
おっと、それはまずい
>>100
>FFMPEG [info] Stream #0:0: Video: wrapped_avframe, yuv420p(bt709, progressive), 1440x1080 [SAR 4:3 DAR 16:9], q=2-31, 200 kb/s, 59.94 fps, 59.94 tbn
>Please set input interlace field order (--interlace tff/bff) for vpp-afs.
afsはインタレ前提だからインタレ解除しちゃダメ
>>99
直した
>>100
前のバージョンだと音ズレするから最新の使ってくれ
>>102
お世話になっております。
0.6.1.0のファイルで上書きして、「サンプルNVEnc 自動フィールドシフト 24p」
を選択し、適用ボタンを押して実行してみました。
メインフィルタもフィルタなしになっています
エンコーダ追加オプションも以下の通りです。
--vpp-afs preset=anime,24fps=true,timecode=true -c hevc
こちらの環境の問題かもしれません。上書きではなく一度全フォルダ削除
してから入れなおしてみる必要があるかもしれません。
エラーメッセージにある"--interlace tff"を追加オプションに入れても動作しませんでした。
ちょっといろいろ試してみます。
>AMT [info] [エンコーダ起動]
>AMT [info] "C:\NVEnc\NVEncC\x64\NVEncC64.exe" --colorprim bt709 --transfer bt709 --colormatrix bt709 --vpp-afs preset=anime,24fps=true,timecode=true -c hevc --profile main10 -o "C:\Users\syo\AppData\Local\Temp\amt5240133/v0-0.raw" --format raw --y4m -i -
>FFMPEG [info] Output #0, yuv4mpegpipe, to '-':
>FFMPEG [info] Stream #0:0: Video: wrapped_avframe, yuv420p(bt709, progressive), 1440x1080 [SAR 4:3 DAR 16:9], q=2-31, 200 kb/s, 59.94 fps, 59.94 tbn
>AMT [error] Exception thrown at x:\switch\visual studio 2015\projects\amatsukaze\amatsukaze\ProcessThread.hpp:219
>Message: failed to write to stdin pipe
>AMT [error] Exception thrown at x:\switch\visual studio 2015\projects\amatsukaze\amatsukaze\ReaderWriterFFmpeg.hpp:784
>Message: failed to input frame due to encoder error ...
>AMT [error] Exception thrown at x:\switch\visual studio 2015\projects\amatsukaze\amatsukaze\ProcessThread.hpp:87
>Message: DataPumpThread error
>Please set input interlace field order (--interlace tff/bff) for vpp-afs.
>AMT [error] Exception thrown at x:\switch\visual studio 2015\projects\amatsukaze\amatsukaze\ReaderWriterFFmpeg.hpp:805
>Message: encode failed (encoder exit code: 1)
根本的な所から判らなくなってきましたが(笑)。Amatsukaze.vbsを起動し。
0.6.1.0 で、エンコード設定タブを選び、一番上の項目プロファィル
「サンプルNVEnc 自動フィールドシフト 24p」を選んだ時、適用ボタンを
押すとプロファイルで表示された名前で、設定が保存されるだけだと
思っていたのだけれど、違うのか?
エンコード時に使用されるのは、プロファイルより下の設定項目だと
思っていたのだけれど。
この状態でエンコードすると
>C:\Amatsukaze\exe_files\AmatsukazeCLI.exe -i "D:\test.ts" -s 23610 --drcs "C:\Amatsukaze\drcs\drcs_map.txt" -w "C:\Users\foo\AppData\Local\Temp" --chapter-exe "C:\Amatsukaze\exe_files\chapter_exe.exe" --jls "C:\Amatsukaze\exe_files\join_logo_scp.exe" --cmoutmask 1 -o "D:\encoded\test-マルチ1.mp4" -et x264 -e "C:\Amatsukaze\exe_files\x264_2851_x64.exe" -j "D:\encoded\test-マルチ1-enc.json" --mp4box "C:\Amatsukaze\exe_files\mp4box.exe" -t "C:\Amatsukaze\exe_files\timelineeditor.exe" -fmt mp4 -m "C:\Amatsukaze\exe_files\muxer.exe" -bcm 0.5 --jls-cmd "C:\Amatsukaze\JL\JL_標準.txt" --ignore-no-logo
>AMT [info] [エンコーダ起動]
>AMT [info] "C:\Amatsukaze\exe_files\x264_2851_x64.exe" --colorprim bt709 --transfer bt709 --colormatrix bt709 --tff --frames 44810 -o "C:\Users\foo\AppData\Local\Temp\amt5242230/v0-0.raw" --stitchable --demuxer y4m -
>FFMPEG [info] Output #0, yuv4mpegpipe, to '-':
>FFMPEG [info] Stream #0:0: Video: wrapped_avframe, yuv420p(bt709, top first), 1440x1080 [SAR 4:3 DAR 16:9], q=2-31, 200 kb/s, 29.97 fps, 29.97 tbn
>y4m [info]: 1440x1080i 4:3 @ 30000/1001 fps (cfr)
>x264 [warning]: interlace + weightp is not implemented
>x264 [info]: using SAR=4/3
>x264 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
>x264 [info]: profile High, level 4.0
x264を使ったデフォルトの設定が使用されているような気がする。
デフォルトを更新してあげる必要があるのかな?
>>104
エンコ時キューのタブでTSをドロップしてるんだよね?
そのときの設定ダイアログのプロファイルがデフォルトのままなんじゃないの?
そこをサンプルNvenc��に切り替える必要あり
>>105
その通りでした。エンコードしたいファイルをドロップした時に
プロファイルを指定するという事が理解できていませんでした。
助かりました。ありがとうございます。
NVEncはGPU世代で機能は同じ、性能は動作クロック
モデル差は同時エンコードの制限数
世代差は処理速度の違い(Pascal除く)
基本的にGEFORCEとNVS、下位Quadroは並行処理数は2まで、Quadroの中堅以上とかTITANは無制限になってる
あとNVDec/NVEncのエンジンの搭載数も違っていて、GP104以上は2基搭載されている
お陰でGTX1080以上だと2本並行処理しても速度が落ちない
※以前はGP104でも1070Ti以外で2エンジン有効になっていなかった
細かいネタだとPascal世代でマクロブロック捜査が強化されていて、HEVCで相変わらずBフレームは使えないが画質が僅かに改善してるのと、
H264比でHEVC処理時の速度低下が大幅に少なくなってる
お陰で再生環境的にHEVCでも全然OKなら、PascalのHEVCで処理した方が、QSVのH264 LA-ICQで処理するより、速くて画質容量比が良くなる
安価にNVEnc環境得たいならGTX1050/1050Ti
予算が有ればGTX1070〜
GT1030はNVDecしか積んでいない(CUDAは可
すま、TITANじゃなくてTESLAの間違い
TITANはコンシューマ扱いで同時並行数2
速度の目安(1920x1080)
Pascal
H264 630〜650fps
HEVC 420〜440fps(H264の概ね2/3、前世代のH264並の速度
Maxwell第2世代
H264 440〜460fps
HEVC 220〜230fps(H264の概ね半分
※NVEncC単独でブン回したorデコーダが十分高速な場合(動作クロックの差込み
製品毎のエンジンの動作クロック差で前後する
Maxwell第1世代のGTX750/750TiだとH264のみ(速度は第2世代比でほぼクロック差通り
Kepler世代(第1代NVEnc)だとクロック差込みで2/3ぐらいの速度
NVEncはHEVCで爆速ってのが旨味なんで、導入するならPascal世代推奨
Maxwell第2世代なら、HEVC使ってQSVのH264に速度対抗という感じ
小ネタで、僅かに出回ったGP104版GTX1060 3Gについても、エンジン数制限解除後のSDKとドライバだとエンジン2基使えるそうな
EDCB用のバッチ生成に関してなのですが、実行時にamatsukazeが既に起動してエンコード中の場合、順番待ちに追加されるという認識であっていますか
実行時にamatsukazeの多重起動エラーが複数回表示され止まってしましました。
録画とエンコードは同じPCで処理しており、NASも通していない状態です。
アプデてフィルタ使えるようになったわ、サンクス
>>110
スタンドアロン版でエンコードしているとそうなるようです。あらかじめサーバー版を起動して、クライアント版でエンコードしていれば、リストに追加されます。私も最初悩みました。
プロファイル サンプル_NVEnc 24p 自動フィールドシフトを使用しています。
ログに情報がないですね。何かの例外が出て落ちたのは判るのですが。何か必要な情報はありますか?
>C:\Amatsukaze\exe_files\AmatsukazeCLI.exe -i "dummy.ts" -s 211 --drcs "C:\Amatsukaze\drcs\drcs_map.txt" --resource-manager 3204:3528 -w "C:\Users\dummy\AppData\Local\Temp" --chapter-exe "C:\Amatsukaze\exe_files\chapter_exe.exe" --jls "C:\Amatsukaze\exe_files\join_logo_scp.exe" --cmoutmask 1 -o "D:\encoded\20171111-233000-アイドルマスター SideM 第6話「二人が選ぶVictory」.mkv" -et NVEnc -e "C:\NVEnc\NVEncC\x64\NVEncC64.exe" -j "D:\encoded\20171111-233000-アイドルマスター SideM 第6話「二人が選ぶVictory」-enc.json" -eo "--vpp-afs preset=anime,24fps=true,timecode=true -c hevc" -fmt mkv -m "C:\Amatsukaze\exe_files\mkvmerge.exe" -bcm 0.5 --subtitles --jls-cmd "C:\Amatsukaze\JL\JL_標準.txt" --ignore-no-logo --ignore-no-drcsmap --no-delogo
>Amatsukaze - Automated MPEG2-TS Transcoder
>Built on Jul 19 2018 08:44:06
>Copyright (c) 2017-2018 Nekopanda
>AMT [info] [設定]
>AMT [info] 入力: dummy.ts
>AMT [info] 出力: D:/encoded/dummy
>AMT [info] 一時フォルダ: C:\Users\dummy\AppData\Local\Temp\amt5325660
>AMT [info] 出力フォーマット: Matroska
>AMT [info] エンコーダ: C:\NVEnc\NVEncC\x64\NVEncC64.exe (NVEnc)
>AMT [info] エンコーダオプション: --vpp-afs preset=anime,24fps=true,timecode=true -c hevc
>AMT [info] 自動ビットレート: 無効
>AMT [info] エンコード/出力: 1パス/通常
>AMT [info] チャプター解析: 無効(ロゴ必須)
>AMT [info] 字幕: 有効
>AMT [info] DRCSマッピング: C:\Amatsukaze\drcs\drcs_map.txt
>AMT [info] サービスID: 211
>AMT [info] デコーダ: MPEG2:default H264:default
>AMT [info] エンコーダでのインタレ解除: VFR化
>AMT [info] [PAT更新]
>AMT [info] サービス 211 を選択
>AMT [info] [PMT更新]
>AMT [info] PID: 0x0140 TYPE: MPEG2-VIDEO
>AMT [info] PID: 0x0141 TYPE: ADTS AAC
>AMT [info] PID: 0x0138 TYPE: 字幕
>AMT [debug] 必要な情報は取得したのでTSを最初から読み直します
>AMT [info] 開始Clock: 34056309513
>AMT [info] 音声パーサ 0 を追加
>AMT [info] [音声0フォーマット変更]
>AMT [info] チャンネル: ステレオ サンプルレート: 48000
>AMT [info] [映像フォーマット変更]
>AMT [info] サイズ: 1920x1080 (16:9) FPS: 30000/1001
>AMT [info] [PMT更新] ストリーム時刻: 0分12.69秒
>AMT [info] PID: 0x0140 TYPE: MPEG2-VIDEO
>AMT [info] PID: 0x0141 TYPE: ADTS AAC
>AMT [info] PID: 0x0138 TYPE: 字幕
>AMT [info] [PMT更新] ストリーム時刻: 27分12.65秒
>AMT [info] PID: 0x0140 TYPE: MPEG2-VIDEO
>AMT [info] PID: 0x0141 TYPE: ADTS AAC
>AMT [info] PID: 0x0138 TYPE: 字幕
>AMT [error] Exception thrown at x:\switch\visual studio 2015\projects\amatsukaze\amatsukaze\CoreUtils.hpp:370
>Message: failed to read from file
SideM…(笑)
エンコーダ追加オプションに
--vpp-afs preset=cinema,coeff_shift=192,timecode=true -c hevc --vbrhq 2000 --qp-init 23:25:27 --preset quality --aq
これを指定してやっていますが無駄な所ありますでしょうか?
もっと高速化出来るはずだと思うんですが無知なのでわからないのです・・・
>>113
報告ありがとう
ちょっと原因分からないけど、それっぽいところ直した
新しいバージョン(0.6.3.0)試してみて
>>116
ありがとうございます。
とりあえず落ちたデータの3つをエンコードしてみましたが、エラーで落ちなく
なっていました。
出来上がったデータもパッと見はおかしくないみたいです。助かりました。
>>115
nvencが幾ら爆速でも、パイプで渡されるペース以上の速度は出せない
0.6.4.0でエラーになりました。
0.6.3.0と同じ設定、同じファイルを使いました。
0.6.3.0ログの一部
AMT [info] [映像フレーム統計情報]
AMT [info] 時間: 60分2.299秒
AMT [info] FRAME=0 DBL=0 TLP=0 TFF=107904 BFF=15 TFF_RFF=15 BFF_RFF=15
AMT [info] (PTS_Diff,Cnt)=(3003,107918)
AMT [info] (PTS_Diff,Cnt)=(4503,15)
AMT [info] (PTS_Diff,Cnt)=(4506,15)
AMT [info] TS解析完了: 50.90秒
AMT [info] [フォーマット切り替え解析]
AMT [info] 0.00 -> 0
AMT [info] [CM判定用音声構築]
AMT [debug] 音声-1-0は26フレーム目から開始
AMT [info] [ロゴ解析]
FFMPEG [warn] Multiple frames in a packet.
FFMPEG [warn] Invalid pkt_timebase, passing timestamps as-is.
FFMPEG [warn] Invalid pkt_timebase, passing timestamps as-is.
AMT [info] 0/107962
AMT [info] 5000/107962
0.6.4.0ログの一部
AMT [info] [映像フレーム統計情報]
AMT [info] 時間: 60分2.299秒
AMT [info] FRAME=0 DBL=0 TLP=0 TFF=107904 BFF=15 TFF_RFF=15 BFF_RFF=15
AMT [info] (PTS_Diff,Cnt)=(3003,107918)
AMT [info] (PTS_Diff,Cnt)=(4503,15)
AMT [info] (PTS_Diff,Cnt)=(4506,15)
AMT [info] TS解析完了: 182.00秒
AMT [info] [フォーマット切り替え解析]
AMT [info] 0.00 -> 0
AMT [info] [CM判定用音声構築]
AMT [debug] 音声-1-0は26フレーム目から開始
AMT [info] [ロゴ解析]
FFMPEG [warn] Multiple frames in a packet.
FFMPEG [warn] Invalid pkt_timebase, passing timestamps as-is.
FFMPEG [error] ctx->cvdl->cuvidCreateDecoder(&ctx->cudecoder, &cuinfo) failed -> CUDA_ERROR_OUT_OF_MEMORY: out of memory
FFMPEG [error] cuvid decode callback error
AMT [warn] avcodec_send_packet failed
FFMPEG [error] ctx->cvdl->cuvidDecodePicture(ctx->cudecoder, picparams) failed -> CUDA_ERROR_INVALID_HANDLE: invalid resource handle
以下、エラーが続く。
なお、処理したファイルは字幕が取り出せないファイルです。
>>119
今回変更したとこと違うし、cuda out of memoryって出てるから環境的な問題な気がする
他にGPUのメモリ使ってるプログラムがいるのかな
字幕が取り出せないのは気になる
>>120
0.6.3.0を使っていましたが、0.6.4.0を上書き。
0.6.4.0のログ状態。
エラーになったので0.6.3.0を上書き。
0.6.3.0のログ状態。
この間、何も変えていません。
動いているアプリはありません。
字幕が取り出せないのは気になります。
AMT [info] [PMT更新]
AMT [info] PID: 0x0140 TYPE: MPEG2-VIDEO
AMT [info] PID: 0x0141 TYPE: ADTS AAC
AMT [info] PID: 0x0146 TYPE: 字幕
AMT [debug] 必要な情報は取得したのでTSを最初から読み直します
AMT [info] 開始Clock: 97199314034
AMT [info] 音声パーサ 0 を追加
AMT [info] [音声0フォーマット変更]
AMT [info] チャンネル: ステレオ サンプルレート: 48000
AMT [info] [映像フォーマット変更]
AMT [info] サイズ: 1440x1080 (16:9) FPS: 30000/1001
AMT [info] [PMT更新] ストリーム時刻: 0分5.66秒
AMT [info] PID: 0x0140 TYPE: MPEG2-VIDEO
AMT [info] PID: 0x0141 TYPE: ADTS AAC
AMT [info] PID: 0x0145 TYPE: 字幕
AMT [info] PID: 0x0146 TYPE: 字幕
字幕が取り出せる場合は、最初の PID: 0x0146 TYPE: 字幕 の前にも
PID: 0x0145 TYPE: 字幕 があります。
ログの詳細は追っかけてありません。
どこかにファイルをアップした方が良いですか、短期なら怒られないかな?!
>>121
こちらでは再現できませんでした
もしよければファイルを↓これで送ってくれますか?
https://www.dropbox.com/request/XqAqM1qrubwuy2AxWN2J
>>122
6.5GB程ありますので、アップロードできませんでした。
すみません。
何回か同じ事を繰り返してみましたが、エラーになる場合の方が少なく
正常にエンコードできる場合が多かったです。
しばらく様子を見ますので、このエラー報告は取り消します。
お騒がせしました。
>>122
ファイルを削って送りました(test.7z)。
元ファイルではassファイルは作られませんでしたが、送ったファイルではちょっと作られました。
参考に Caption2Ass で作ったassファイルをつけておきました。
元ファイルが必要でしたら分割して送ります。
よろしくお願いします。
>>125
ありがとうございます!直しました
>>126
ありがとうございます。
正常に元ファイルで字幕が抽出できました。
作者さんいつもお世話になっております。
元ファイルの名前のキーワードに出力ファイルの保管先を変えるような機能が欲しいです・・・
0.6.5.0
AMT [error] Exception thrown at x:\switch\visual studio 2015\projects\amatsukaze\amatsukaze\Encoder.hpp:233
Message: エンコード中に不明なエラーが発生
で終了してしまいます
別フォルダ掘って新規に0.6.5.0入れたら上記の2行に加え
[CUDA Error] out of memory (code: 2)
と出た。
どうもエラーが出始めたタイミングが4kディスプレイにした時期と重なるので
4k→2kに戻したら、まだ完走してないけど何度やっても止まる4分前後を超えて
続いてるからグラボのスペック不足だったのかも。
GTX960だと遅いの我慢だけだと思ったが、解像度上げた時のメモリ不足で
不可能まであったか・・・
>>131
avisynthフィルタのGPUメモリ使用量は設定できるから減らすと動くようになるかも
CUDAフィルタのavsファイルの最初にコメントアウトされてるSetMemoryMaxがあるから、
それを有効化して、600とか500とか試してみて
SetMemoryMax(600, type=DEV_TYPE_CUDA)
デフォルトは768(MB)になってる
あまり減らすと再計算が増えて遅くなるけど
>>132
600も500も駄目。
10にしても結局
>>AMT [error] Avisynthフィルタでエラーが発生: [CUDA Error] 2: out of memory @366
が出て終了。
1160が出るまでエンコ中2kにするかcpuしかないかな。
ちなみに「メイン_インタレ解除KFM-SVP-60p(CUDA).avs」です。
とても便利に使わせていただいています。欲しい機能や、想像以上の機能がどんどんと増え、とても重宝しています。
もともと使っていた自前のプログラムは、ほぼお蔵入り状態です。
一点だけお願いなのですが、https://github.com/range3/tsdivider にあるTSDividorのように、番組の冒頭と末尾についている別番組をカットする処理を、CMカットに加えていただけないでしょうか。
EITとPMTが変更される位置に基づいてカットしているようです。
NHKやWOWOWなどのロゴが消えないまま他の番組の予告が入る場合、今のCMカットでは対応しきれないので、TSSplitterをかけています。ただ、番組中にPMTが変わることもあり、苦労していました。
TSDividorの方法なら、冒頭と結末だけの不要部分をカットできそうです。
お手すきのときに、どうかご考慮くださいませんか。
それでは、よろしくお願いいたします。
便乗となりますが、CMカットした後、番組の頭と末尾を秒数指定でカットする機能を希望いたします
アニメなどは冒頭に5秒ほど映像が入る番組があり(TBSや日本テレビ)
、番組末尾にも関係ない番宣か入るパターンが結構あります
もし可能であれば、実装のご検討をお願いいたします
エンコーダの設定でどうにかなりそうな
冒頭5秒切りたいならJLのフラグ指定でHC5付ければいいのでは?
うまく行かなくてもフラグ指定CallしてAutoEdgeとかAutoDelとか付け足したJL作ればなんとかなる
Join_LogoでNHK上手く設定できないからtssplitter通すバッチに投げてる
どこかからのパクリ
@echo off
rem このファイルにtsファイルをD&Dする。
rem 複数ファイルドロップ対応
rem SETにあるTsSplitterファイルへのパスと、HDファイルの出力先を、環境に合わせて変更する必要あり。
rem TsSplitter一括処理用batファイル
rem 2016/04/21
rem -EIT -SD -1SEG -SEP -OVL1,1,0 -SEPA -FLEN
rem 処理内容
rem TsSplitter.exe でtsファイルからSDとワンセグを除去し、HD画質のみ残して強制復号化する。
SETLOCAL
SET SPath="F:\TS\tsspritter\TsSplitter.exe"
SET SParam1=-SD
SET SParam2=-1SEG
SET SParam3=-SEP
SET SParam31=-OVL1,1,0
SET SParam32=-SEPA
SET SParam33=-FLEN
SET SParam4=-OUT "F:\TS\tsspritter"
rem SET SParam5=-WAIT2
@echo %DATE% %TIME% TsSplitterHD 処理開始
:start
IF "%~1"=="" GOTO syoriend
IF NOT "%~x1" == ".ts" GOTO next
:syori
%SPath% %SParam1% %SParam2% %SParam3% %SParam31% %SParam32% %SParam33% %SParam4% "%~1"
@echo %DATE% %TIME% 処理完了 "%~1"
:next
SHIFT
GOTO start
:syoriend
@echo %DATE% %TIME% TsSplitterHD 処理完了
ENDLOCAL
教えていただきありがとうございます
JLの記述なのですが、記入例を一つ頂けないでしょうか
試してみたのですが、カットができませんでした
<削除>
>>134 >>135
CMカット周りはどういう構成でミスったのか分からないと対応できないから、
ログをどこかに上げるなりしてください
自分もよく分かってないので正しい書き方である保証はないが
例えば末尾の5秒±2秒を削りたいが末尾が団子になっていてフラグ指定やAutoEdgeが効かない時、こんな感じで処理している
# join_logo_scp用の実行内容スクリプト
Set TCE 1 # エンドカードなしとする
Set TCSP 1 # 最後の番組提供を認識をしない
Call "JL_フラグ指定.txt"
Default lastdel_pos 5.0
Default lastdel_scope 2.0
AutoDel E -$lastdel_pos -$lastdel_pos-$lastdel_scope -$lastdel_pos+$lastdel_scope -code 2 -Nauto -1
# ここまで
あとはJLコマンド説明読んでがんばって
CM解析終わった後にキャンセルしてログからjoin_logo_scp.exeのコマンドラインをコピペ実行してjls0.txt見ながら試行錯誤するとちょっと捗る
いつもお世話になっております。
元ファイルの名前によってエンコードの保管先を変えるような仕組みを導入出来ませんでしょうか?
ソースファイル名の構成にもよるのと
重複する場合はプライオリティ的に処理するのか、別な処理にすべきなのかとか
処理判断の具体に欠けるのは実装側に丸投げが過ぎる気がするけど
作者さんのフットワークが軽いからと、雑な要望投げるのは思慮に欠けると思う
>>141
お手数をおかけしました。以前、JoinLogoScpで対応できなかったので、固定概念でAmatsukazeでもできないと思い込んでいただけでした。
試しに、WOWOWの番組を処理してみたところ、見事に本編だけのファイルができました。
大変失礼しました。私の欲しい機能は、これですべて揃いました。自前プログラムの使用をやめて全面移行させていただきます。
>>143
目的とかユースケースを教えて
これはDドライブ、これはEドライブ、これはNASに保存とかの振り分け?
それとも、SCRenameで取得できない場合の補完的なもの?
<削除>
>>144
ほんそれ
作者様、
Amatsukaze(Amatsukazeから呼び出されるプロセスなど)の
OSにおける基本優先度を制御することはできませんか?
具体的にはエンコードのプロセス (x264_2851_x64.exe など) の
優先度を「低」にしたいのですが、その方法はないでしょうか?
都度プロセスの優先度をタスクスケジューラから制御するのは
現実的ではないので、その機能があればうれしいです。
現状でもAmatsukazeCLI(と呼び出されるプロセス)は優先度「通常以下」にはなっているね
自分の場合、I/O優先度も低にしたいからPowerShellでNtSetInformationProcess叩いてAmatsukazeServer立ち上げる時にI/O優先度落とすように一工夫しているが
新規ユーザー向けとかで考えると
CM分離した時にencodedの中が雑然とするから、本編以外はencoded下のcut-offサブフォルダに放り込むオプションとか有ると良いのかなとか思ってみたり
他には基本設定にencoded/succeeded/failed(上記のもやるならcut-offも)を任意の固定パス・フォルダ名にする設定追加ってあたりですかね?
個人的には自前のバッチでファイル整理や移動処理してるから、無くても困らないけども
↑UI操作が基本でキューに手動でファイル放り込んで処理している人向けみたいなイメージ
>>145
出来ましたら修正したファイル(スクリプト)をどこかに上げていただけませんか。
私の知識では134の機能の修正ができませんので。
よろしくお願いいたします。
>>146
例えば
優先度でキーワードを決めておいて、
入力したファイルのファイル名に[アニメ]が入っていればDドライブのアニメフォルダへ、
[ドラマ]が入っていればDドライブのドラマフォルダへ移動させる
ような機能です。
ぜひご検討をお願い致します。
複数条件に引っかかったら、どうするん?
設定の記述が先の方で処理すればいいのか
複数引っかかった場合も定義するのか
>>154
ファイル名に[アニメ]や[ドラマ]が入ってるって状況がよく分からない
番組名だとしたら、入ってない番組のほうが多いと思うんだけど
>>156
EDCBのRecNameMacroのマクロの番組ジャンル名をファイル名に入れるってことじゃない?
ジャンル等トラップするなら、既存機能との絡みでエンコード設定に出力先指定の追加する形にして、自動設定の条件処理使って〜とか?
どんな方法でamatsukazeにキュー登録しても適用される方法での実装を望んでいるのかで、
同系統の機能の更なる追加や機能増強求められる時に手戻りの発生具合にも繋がるから、本体弄る様なのは思慮する事が増えて、別の手間が増える
それか、手動でUI使ってのキュー登録して使っている(ファイルをドラッグアンドドロップ登録)状態での要望なら
キュー登録時の出力先指定がキーワード検出で自動変更出来れば良いから
「キーワードで出力先を任意の設定にしてキュー登録を代わりにやってくれるバッチ」を用意して、
そっちにファイルをドラッグアンドドロップなり、Wクリックで対象フォルダのファイルをキュー登録すればいいので、
本体触らずに外郭的な「amatsukazeとの連携するバッチ」作れば済む(本体触らないので後の改修や開発に影響しない)
そういう意味も含んでの「使い方」が問われていたのでは?
>>153
再度検証してみましたが、Amatsukazeで対応しているのは、5.1ch音声部分とステレオ部分を分離して出力することのようです。
ですので、ステレオ音声のWOWOWの番組は、前後の不要部分のカットはできませんでした。
今のところ、この場合は、Tssplitterを「-SEP2 -SEPA」オプション付きでかけるしかなさそうです。
一応、ログをIssuesにあげさせていただきます。どうかよろしくお願いいたします。
エンコーダをx264で画面サイズ1920x1080の動画を1280x720で出力したい場合
追加オプションにはなんて入れたらいいんでしょうか?
リサイズは Avisynth のスクリプト弄った方が良いだろう。
>>161
スクリプトは全くわかりません
どこかにスクリプトが上がってたりしますか?
>>162
わからんならスレ位読めば良いのにって良く思う
>>13
>>163
私では読んでもたどりつけなかったです
でうまくいきました、ありがとうございます
バージョンは 0.6.6.0 での事象です。
これまで standalone モードで使っていたのですが、
EDCB から自動エンコードすべく、サーバ&クライアントモードに
移行しようとしたところ、すべての設定がない状態になってます。
これは仕様でしょうか?
もし仕様の場合、設定を同期したり、移管したりする方法は無いでしょうか?
基本設定とかだけなら再設定するのですが、
ロゴを全部撮り直したりするのが苦痛なので、
何か方法があれば教えていただけると助かります。
失礼しました。
この現象は、TaskTrayExec から "AmatsukazeGUI.exe -l server -p 32768" を起動したために起こっていたようです。
vbs ファイルを使って "AmatsukazeGUI.exe -l server -p 32768" を起動した場合は
設定が同期されていました。
TaskTrayExec 利用時にも作業フォルダや、
実際の full path で起動するなど合わせていて、
正常に動作するのですが、コンフィグが読み込まれない理由はわかりません。。。
別の手法で、タスクトレイに入れることにします。
TaskTrayExecの運用の問題で、起動される側の問題なのかそれ?
あと0.6.6.0の現象と言うことは、他のverでは起きないと取れる書き方だぞ
他のverでも本当に試してるのか?
試してないなら「0.6.6.0でしか確認していませんが」とかじゃないのか?
TaskTrayExec観たけど、こんな呼び出してるだけならそりゃダメだろ
時間が出来たので続き
今回は原因推測出来るから答え教えるけど
基本的にファイルの起動の事とか色々理解してなさそうなので、exe_filesの中に何故か設定ファイルが入ったサブフォルダとか新規に出来てたりする理由とか考えてみてね
そんで簡便な対応としては、使い古された方法だけど「起動対象に適切な作業フォルダを設定したショートカットを用意して、それを起動させる」という方法を使う
D:\Amatsukaze がAmatsukazeのパスとすると
1)AmatsukazeGUI.exeのショートカットを作る
2)上記ショートカットの作業フォルダを
D:\Amatsukaze\exe_files から vbs等がある一つ上層の D:\Amatsukaze に修正して保存
3)後での記述が楽な様に「AGUI」とかにリネームしてD:\Amatsukazeに保存
4)TaskTrayExecを起動して Execute File Path に D:\Amatsukaze\AGUI.lnk と手動入力
※「…」ボタンからGUIを使ってファイル指定して登録すると、ショートカットの中に登録されてるパスが抜き出されるのでGUIで指定しない
5)「Create The Shortcut File」押して適当なファイル名つけて保存
こんなんで動くとは思うよ
TaskTrayExecの機能そのままで使うんじゃ無理な事も、今回みたいに合わせ技で目的果たせたりもする
あぁ、あと起動のオプションは1)で作るAmatsukazeGUIの方に記述ね
>>170
わざわざありがとうございます。
TaskTrayExec に設定してある作業ディレクトリ (D:\Amatsukaze) が、
そこから起動される、AmatsukazeGUI.exe に対してわたっていなかったというところでしょうね。
ご提案のものではないですが、AmatukazeGUI.exe にカレントディレクトリが
わたるタスクトレイ格納方法を利用してうまくいってます。
Process Explorer で見たときは、
AmatsukazeGUI.exe プロセスのカレントディレクトリが、
D:\Amatukaze になっている (exe_filesではなく) のを確認したうえで、
投稿したつもりだったのですが、現象から見てもおそらく確認ミスなんだとおもいます。
AmatsukazeGUIは設定とか全部起動時のカレントディレクトリ基準になってるから、
作業ディレクトリが設定できないローンチャは使いにくいね
TSの無劣化CMカットってできないでしょうか?
Amatsukazeは既存のエンコード・編集プログラムをコントロールしているだけです
使っている各種プログラム元に相談して下さい
>>175
返信ありがとうございます
こちらのHPにかかれてる
https://yaritakunai.hatenablog.com/entry/2018/04/28/211000
>実際はAvidemuxでキーフレームの時間を確認し、分割/結合はffmpegで行なっていました。ffmpegでの分割は、以下のコマンドで行えます。
>ffmpeg -ss 01:43.870 -i in.m2ts -ss 0 -t 03:12.325 -c copy -map 0 out.m2ts
など使用してできないでしょうか?
>>176
開発者では無いけど、readmeになんて書かれているか読んでる?
>TSファイルをエンコしてmp4やmkvにするソフトです。
という記述のソフトに求める要望だとは到底思えないんだけど
そう思った理由や、どういう処理を行えばいいかとか
Amatsukazeの今の処理体系に組み入れやすい方法の提示ぐらい出来た方がいいんじゃないかい?
どっちにしろ編集がGOP単位でしか出来なくなるから
・編集点がCM検出した場所とズレてもいい
・音声と映像では無劣化でカットできる場所が違うから、映像と音声の編集点がズレてもいい→無音箇所・無映像箇所が出来てもいい
・対象ファイルが処理出来ないケースが増える、編集後のTSが健常に再生できるかがソースのエラーやドロップ具合に依存
とかが想像できるんだけども、それは認知して言っているの?
現状のCMカット機能と同等な出力が得られないうえ、今の処理系のとかキュー登録時の前提の埒外すぎて「別のソフト作って統合しろ」という無茶を考え無しに言っているようにしか見えないので「具体」をお願いしたい
作者さんのフットワークの良さを勘違いして、無茶な要望ばかり投げられて
下手にモチベーション下がるような事があったら、既存ユーザーやこれからのユーザー全体の損益だからね
要望を求めるなら求める側も作者さんに配慮するべきだと思うんだわ
一緒に質の向上を願う不良動作の報告とかバグ報告と違うんだしね
もし作者さんが拾いあえげてくれるなら何も言わないけど
実作業が発生した後で「なんでCMカット位置ズレるんですか?」とか無劣化編集のデメリット理解していなくて、作業が無駄だったりしたら目も当てられないもの
GOP単位でしか無劣化編集はできないんですね
だから少しずれる余地があるってことなんですね
自分で手動でやっても同じことですので問題ないです
今手動でやってることを自動でできればと思いまして
編集ソフトじゃないんであきらめろん。
JoinLogoScpのコマンドファイルにJL_従来標準.txt使うとチャプター生成のところでエラーコード0xc0000005で終了してしまいます。
スマートフォン版
掲示板管理者へ連絡
無料レンタル掲示板