Windows 10+EPGstation에 Amatsukaze 통합

15505 단어 EPGStation
계기.
@jakento선생님의
Windows 10+PT3+Mirakurun+EPGstation+Amatsukaze를 사용한 자동 인코딩 환경 구축
이 글의 자극을 받아 한번 해 보고 싶습니다Amatsukze.좋은 도구를 소개해 주신 자켄토씨와 훌륭한 프로젝트의 소유자nekopanda씨에게 감사드립니다.
하고 싶은 일
이런 느낌을 이루고 싶어요.
  • 인코딩 메뉴 중 하나로 Amatsukaze를 사용하고 싶습니다.
  • 인코딩된 비디오를 EPGstation을 통해 관리하고자 합니다.
  • 인코딩 작업은 EPGstation을 통해 관리하고자 합니다.
  • 인코딩의 성공/실패를 EPGstation으로 복원(성공하면 TS 삭제)
  • 개인적으로는 별도로 공개된지능형 TV를 위한 EPGstation 클라이언트 소프트웨어에도 아메츠키즈로 인코딩한 영상을 방문하고 싶은 사람이 있었다.

    방법
    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              処理途中のデータをダンプ(デバッグ用)
    
    현장은 이게 다야.

    좋은 웹페이지 즐겨찾기