Windows 10+EPGstation에 Amatsukaze 통합
15505 단어 EPGStation
@jakento선생님의
Windows 10+PT3+Mirakurun+EPGstation+Amatsukaze를 사용한 자동 인코딩 환경 구축
이 글의 자극을 받아 한번 해 보고 싶습니다Amatsukze.좋은 도구를 소개해 주신 자켄토씨와 훌륭한 프로젝트의 소유자nekopanda씨에게 감사드립니다.
하고 싶은 일
이런 느낌을 이루고 싶어요.
방법
AmatsukazeCLI.요점은 필요한 매개 변수를 추가한 후에exe라고 부르는 것이다.
CHANNELID에서 SERVICEID를 꺼내는 부분은 역작이지만 CM의 커트를 위해서는 로고 파일을 지정해야 하기 때문에 이렇게 됐다.
Node.분명히 js를 사용할 수 있는데 왜 일괄 처리 파일로 쓰려고 합니까? 이런 비난은 정확합니다. 용서해 주십시오.
config.yml
encode:
- name: H.264(CMカット)
cmd: 'C:\Windows\System32\cmd.exe /C %ROOT%/config/enc_qsv_cm_cut.bat'
suffix: .mp4
rate: 4.0
enc_qsv_cm_cut.bat@echo off
setlocal
set ENC_LOG_NAME=%OUTPUT%.log
set CHANNELID_LENGTH_TEST=%CHANNELID:~6%
if defined CHANNELID_LENGTH_TEST (
rem チャンネルIDが6桁より多いのでGR.サービスIDは下5桁とする
set SERVICEID=%CHANNELID:~5%
) else (
rem チャンネルIDが6桁以下なのでBS/CS.サービスIDは下3桁とする
set SERVICEID=%CHANNELID:~3%
)
rem サービスIDからゼロパディングを取り除く
:LOOP
if "%SERVICEID:~0,1%"=="0" (
set SERVICEID=%SERVICEID:~1%
GOTO :LOOP
)
rem ロゴファイルのパラメータを作る
for %%F in ( C:\Amatsukaze\logo\SID%SERVICEID%-*.lgd ) DO CALL SET LOGO_PARAM=%%LOGO_PARAM%% --logo %%F
C:\Amatsukaze\exe_files\AmatsukazeCLI.exe ^
--input "%INPUT%" ^
--output "%OUTPUT%" ^
--work C:\Amatsukaze\tmp ^
--encoder-type QSVEnc ^
--encoder C:\Amatsukaze\QSVEnc_5.06\QSVEncC\x64\QSVEncC64.exe ^
--chapter ^
%LOGO_PARAM% ^
--ignore-no-drcsmap ^
--no-delogo ^
--cmoutmask 2 > "%ENC_LOG_NAME%" 2>&1
set Amatsukaze_RET=%ERRORLEVEL%
rem AmatsukazeCLI.exeの終了コードをログファイルに追記
echo AmatsukazeCLI.exeの終了コード : %Amatsukaze_RET% >> "%ENC_LOG_NAME%"
rem エンコードが成功していればAmatsukazeCLI.exeのログファイルは削除する。(失敗していれば残る)
if %Amatsukaze_RET%==0 DEL "%ENC_LOG_NAME%"
rem EPGStationにはAmatsukazeCLI.exeの終了コードを返す
exit /B %Amatsukaze_RET%
rem 実行時に渡される環境変数は以下の通り
rem https://github.com/l3tnun/EPGStation/blob/master/doc/conf-manual.md
rem 変数名 種類 説明
rem %RECORDEDID% number recorded id
rem %INPUT% string 入力ファイルパス
rem %OUTPUT% string 出力ファイルパス
rem %FFMPEG% string ffmpeg パス
rem %DIR% string 予約時に設定した directory 文字列
rem %NAME% string 番組名
rem %DESCRIPTION% string | null 番組概要
rem %EXTENDED% string | null 番組詳細
rem %VIDEOTYPE% string | null "mpeg2" | "h.264" | "h.265"
rem %VIDEORESOLUTION% string | null "240p" | "480i" | "480p" | "720p" | "1080i" | "2160p" | "4320p"
rem %VIDEOSTREAMCONTENT% number | null video streamType
rem %VIDEOCOMPONENTTYPE% number | null video componentType
rem %AUDIOSAMPLINGRATE% number | null 16000 | 22050 | 24000 | 32000 | 44100 | 48000
rem %AUDIOCOMPONENTTYPE% number | null audio componentType
rem %CHANNELID% number ChannelId mirakurun:40772/api/services で ID を確認できる
rem %GENRE1% number genre1
rem %GENRE2% number genre2
rem %GENRE3% number genre3
rem %GENRE4% number genre4
rem %GENRE5% number genre5
rem %GENRE6% number genre6
rem %logPath% string | null ロップ情報ログファイルパス
rem %errorCnt% errorCnt | null error count
rem %dropCnt% errorCnt | null drop count
rem %scramblingCnt% errorCnt | null scrambling count
rem Amatsukaze - Automated MPEG2-TS Transcoder 0.9.1.3 (May 21 2019 04:29:41)
rem Copyright (c) 2017-2019 Nekopanda
rem AMT [error] Exception thrown at AmatsukazeCLI.hpp:453
rem Message: 入力ファイルを指定してください
rem AmatsukazeCLI.exe <オプション> -i <input.ts> -o <output.mp4>
rem オプション []はデフォルト値
rem -i|--input <パス> 入力ファイルパス
rem -o|--output <パス> 出力ファイルパス
rem -s|--serviceid <数値> 処理するサービスIDを指定[]
rem -w|--work <パス> 一時ファイルパス[./]
rem -et|--encoder-type <タイプ> 使用エンコーダタイプ[x264]
rem 対応エンコーダ: x264,x265,QSVEnc,NVEnc
rem -e|--encoder <パス> エンコーダパス[x264.exe]
rem -eo|--encoder-option <オプション> エンコーダへ渡すオプション[]
rem 入力ファイルの解像度、アスペクト比、インタレースフラグ、
rem フレームレート、カラーマトリクス等は自動で追加されるので不要
rem -b|--bitrate a:b:f ビットレート計算式 映像ビットレートkbps = f*(a*s+b)
rem sは入力映像ビットレート、fは入力がH264の場合は入力されたfだが、
rem 入力がMPEG2の場合はf=1とする
rem 指定がない場合はビットレートオプションを追加しない
rem -bcm|--bitrate-cm <float> CM判定されたところのビットレート倍率
rem --2pass 2passエンコード
rem --splitsub メイン以外のフォーマットは結合しない
rem -fmt|--format <フォーマット> 出力フォーマット[mp4]
rem 対応フォーマット: mp4,mkv,m2ts,ts
rem -m|--muxer <パス> L-SMASHのmuxerまたはmkvmergeまたはtsMuxeRへのパス[muxer.exe]
rem -t|--timelineeditor <パス> timelineeditorへのパス(MP4でVFR出力する場合に必要)[timelineeditor.exe]
rem --mp4box <パス> mp4boxへのパス(MP4で字幕処理する場合に必要)[mp4box.exe]
rem -f|--filter <パス> フィルタAvisynthスクリプトへのパス[]
rem -pf|--postfilter <パス> ポストフィルタAvisynthスクリプトへのパス[]
rem --mpeg2decoder <デコーダ> MPEG2用デコーダ[default]
rem 使用可能デコーダ: default,QSV,CUVID
rem --h264decoder <デコーダ> H264用デコーダ[default]
rem 使用可能デコーダ: default,QSV,CUVID
rem --chapter チャプター・CM解析を行う
rem --subtitles 字幕を処理する
rem --nicojk ニコニコ実況コメントを追加する
rem --logo <パス> ロゴファイルを指定(いくつでも指定可能)
rem --drcs <パス> DRCSマッピングファイルパス
rem --ignore-no-drcsmap マッピングにないDRCS外字があっても処理を続行する
rem --ignore-no-logo ロゴが見つからなくても処理を続行する
rem --ignore-nicojk-error ニコニコ実況取得でエラーが発生しても処理を続行する
rem --no-delogo ロゴ消しをしない(デフォルトはロゴがある場合は消します)
rem --loose-logo-detection ロゴ検出判定しきい値を低くします
rem --max-fade-length <数値> ロゴの最大フェードフレーム数[16]
rem --chapter-exe <パス> chapter_exe.exeへのパス
rem --jls <パス> join_logo_scp.exeへのパス
rem --jls-cmd <パス> join_logo_scpのコマンドファイルへのパス
rem --jls-option <オプション> join_logo_scpのコマンドファイルへのパス
rem --trimavs <パス> CMカット用Trim AVSファイルへのパス。メインファイルのCMカット出力でのみ使用される。
rem --nicoass <パス> NicoConvASSへのパス
rem -om|--cmoutmask <数値> 出力マスク[1]
rem 1 : 通常
rem 2 : CMをカット
rem 4 : CMのみ出力
rem ORも可 例) 6: 本編とCMを分離
rem --nicojk18 ニコニコ実況コメントをnicojk18サーバから取得
rem --nicojklog ニコニコ実況コメントをNicoJKログフォルダから取得
rem (NicoConvASSを -nicojk 1 で呼び出します)
rem --nicojkmask <数値> ニコニコ実況コメントマスク[1]
rem 1 : 1280x720不透明
rem 2 : 1280x720半透明
rem 4 : 1920x1080不透明
rem 8 : 1920x1080半透明
rem ORも可 例) 15: すべて出力
rem --no-remove-tmp 一時ファイルを削除せずに残す
rem デフォルトは60fpsタイミングで生成
rem --x265-timefactor <数値> x265で疑似VFRレートコントロールするときの時間レートファクター[0.25]
rem --pmt-cut <数値>:<数値> PMT変更でCM認識するときの最大CM認識時間割合。全再生時間に対する割合で指定する。
rem 例えば 0.1:0.2 とすると開始10%までにPMT変更があった場合はそのPMT変更までをCM認識する。
rem また終わりから20%までにPMT変更があった場合も同様にCM認識する。[0:0]
rem -j|--json <パス> 出力結果情報をJSON出力する場合は出力ファイルパスを指定[]
rem --mode <モード> 処理モード[ts]
rem ts : MPGE2-TSを入力する通常エンコードモード
rem cm : エンコードまで行わず、CM解析までで終了するモード
rem drcs : マッピングのないDRCS外字画像だけ出力するモード
rem probe_subtitles : 字幕があるか判定
rem probe_audio : 音声フォーマットを出力
rem --resource-manager <入力パイプ>:<出力パイプ> リソース管理ホストとの通信パイプ
rem --affinity <グループ>:<マスク> CPUアフィニティ
rem グループはプロセッサグループ(64論理コア以下のシステムでは0のみ)
rem --max-frames probe_*モード時のみ有効。TSを見る時間を映像フレーム数で指定[9000]
rem --dump 処理途中のデータをダンプ(デバッグ用)
현장은 이게 다야.
Reference
이 문제에 관하여(Windows 10+EPGstation에 Amatsukaze 통합), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Daigorian/items/746f47b52bd82541d00a텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)