2019年 6月 9日

上位に戻る 動画変換カットソフト

TSファイルをエンコードしていたパソコンをWindows10に更新 今まで、TSファイルをMurdocCutで、CMをカット結合して
MediaCoderちゅうソフトでエンコードしていました MediaCoderがイマイチなので、FFMPEGを使ってCMカットエンコードの
フロントエンドを作ってみることに(いまさらですが・・)

機能概要 TSファイルなどをmp4などの形式にエンコード及び、動画の切り出し結合です CMの自動カット機能も付けています
がロゴ判定だけですので、背景色が、しろっぽいのがつづくと、判定できないので、誤認します トホホ

当初、VLCプレーヤのコントロールを使って再生しつつ、カットの位置を設定しようとしましたが、TSファイルなどの容量の大きい
ものは、うまくシークしてくれない上に、コントロールのマニュアルがまったく見つけられなかったので、現在は、メディアプレーヤ
のコントロールを使っています

メディアプレーヤで、再生できるファイルでないと、カットできません。この為、TSファイルなどの場合は、一旦 軽いmp4ファイルに
変換してから、そのファイルを再生させて位置を決め、TSファイルを切り出してエンコしています
行けてないス・・・。通常のVLCプレーヤでは、TSファイルまあシークできるので、おそらく、バッファリングなどの設定を変えれば
動くかもしれませんので、後々やってみます

FFMPEGが無いと、当たり前ですが、動きませんので、別途準備してください
GPLライセンスなので、同梱配布できません
https://ffmpeg.zeranoe.com/builds/


なんせ、素人がVBで、作ったので、バグだらけかもです・・・・。
さて、その後ですが、VLCで、何とか動き、事前エンコなしで、いきなりTSファイルからCMカットできるようになりました。
シークの動き悪いので、使いにくいです。MediaPlayerにm2tsのデコーダ入れたほうがいいかもしれません

追伸 VLCのバージョン3.0.6 を使っていたのですが、Windows7の旧マシンだと動きがいいので、2.2.1にしてみたら シーク早くなりました




1.インストール及び初期設定

2.エンコードタブ

3.カットタブ

4.CMカットタブ

5.その他タブ




  1. インストール及び初期設定

    インストーラはありません。以下のzipファイルを解凍して適当なフォルダに置いてください
    ただし、実行して終わらせると、設定情報をドキュメントの中に、CuiFfmpegフォルダを作って保存します

    CuiFfmpeg v1.6.3 2019/09/21

    CuiFfmpeg_vlcテストバージョン VLCプレーヤを使っています 設定ファイルは、上記メディアプレーヤ版と混在しないよう分けました


    解凍すると、左記のようなファイルがあります

    CuiFfmpeg.exe このプログラム本体
    WMPLib.dll メディアプレーヤのライブラリです パソコンにメディアプレーヤがインストさ
    れていないと、動作しません(System32\wmp.dll が必要です)
    AForge.dll は、画像処理やAIのライブラリです 今回は、エッジの検出で使っています
    (LGPL)
    rplsinfo.exeは、m2tsファイルの番組情報などを読み出すツールです
    (フリー)

    って全て他力本願じゃあ






    ①エンコードのしたファイルの出力先フォルダを指定します
    ②FFMPEG.EXEを指定します 



  2. エンコードタブ

    ダイアログにチェックを入れると、コマンド画面が表示されます。チェックがないと最小化して実行します。
    入力(元ファイル)ファイルは、入力元の窓にドラッグアンドドロップすると、追加されます
    削除や、クリアしたい場合は、項目を選択して(複数選択可)右クリックで削除を選んでください

    出力の形式は、右のタブで選択します FFMPEGは、沢山の形式に対応していますが、録画変換が主目的なので、MP4とWMVを準備しました

    FFMPEG自体それほど詳しいわけではないのでコマンドは、どこかのサイトから頂戴してきたものです

    WMVは、旧版のWMV8しか対応してなさげでWMV9にはエンコードできないもよう なので、可変ビットレートは利用できません

    コマンドタブは、別の形式に変換したい場合、コマンドで直接入力します



  3. カットタブ

     
    ①最終結合したファイルを保存する場所を指定します

    ②一時作業ファイルの場所です。エンコードタブの出力フォルダの配下に作成され
    ます。一時ファイルは、現在消去させていないので、自分で削除してください

    ③準備エンコ メディアプレーヤで再生できないファイルの場合、一旦、軽いmp4
    ファイルに変換します(解像度480×272 10fps 音声なしになります)

    分割設定作業を行った後、分割結合ボタンを押します
    トランスコードにチェックを入れない場合は、無劣化で切断結合します
    通常は、切断時にエンコして、無劣化で結合しています


    VLCプレーヤ版の場合は、別途VLCプレーヤがインストールされている必要があ
    ります

    インストールされている、フォルダを設定してください
    VLC版は、準備エンコ不要です エンコしても動作軽くなりません


    ④分割設定ボタンを押すと、以下の画面が表示されます


    ①② 画面を指定秒数移動します ホイールにチェックが入っている場合は、マウスのホイールで、シークします ②の移動量が適用されます
    カットしたい位置に来たら、③開始追加または④終了追加ボタンを押して時間を設定します 設定が終わったら、7番ボタンを押します
    ⑤CMカット開始ボタンを押すと、ロゴで判別して自動で、時間を挿入します。別途CMカットタブで、ロゴデータを作成する必要があります
    ⑥開始、終了時間をクリックすると、その時間にシークします 変更したい場合は、マウスでスクロールさせて ⑧開終変更ボタンを押すと
    書き換わります トレース表示にチェックを入れると、ロゴ判定の状況画面が表示されます 連続処理にチェックが入っていると、次の動画
    がある場合は、続けて処理します
    ※超重要事項 時間設定保存ボタンで、コマンドを生成しますので、分割トランスコードするしない及びエンコードタブの設定が反映されます。

    VLCプレーヤの場合
    VLCプレーヤの場合ですが、 別スレッドで動作するためVLCプレーヤ
    の状態が掴みにくく四苦八苦です
    又、位置を指定してから再生が始まるまで、時間がかかる場合がありま
    す。キーフレームが離れていると、遅くなるんじゃないかと思います

    ①Rate 再生速度を設定します

    ②PTime 指定再生位置を指示したあと、再生コマンドを送っていますが
    これが、再生が始まらず、再生が始まるまでの待ち時間
     33→330msec

    少ないと、すべって再生されない、再生するが一時停止しないで再生
    しっぱなしになるなどになります

    VLCのバージョンV3.0.6からV2.2.1に落としたら

    Rate 5 で PTime 10 で、動作しましたので、まあまあ使える
    レベルです
    V3.06の場合は、PTimeは、30msec必要です
    パソコンの能力にもよるので、要調整です


    部分分割

    元ファイルに複数の動画があった場合に分割して結合することが
    できます

    時間設定エリアで、グループにしたいエリアを選択して右クリック
    分割グループ指定でグループを選択します

    変換されたファイル名の後ろにグループナンバーが記載されます

    グループ2を選ぶと、xxxxxxx2.mp4 になります








  4. CMカットタブ

    移動量は、CM自動カットで、シークする時間単位を入力します
    2秒になっているので、2秒進めてロゴチェックします

    判定時間は、アニメ内で、背景がしろっぽいのが続くと
    判別できないので、判定時間を過ぎてもロゴを検出できない
    場合は、CMが始まったと判断します

    判定方法を改善(改悪?)しました。
    古いバージョンから設定ファイルを引き継ぐと、無かった項目はデフォルト
    が設定されず、ゼロ値となります






    スクロールさせて、背景が均一な画面で、①ロゴ選択を押し、マウスで、ロゴ範囲を指定してください
    ②ロゴ抽出ボタンを押すと、ロゴのエッジを取得します ロゴとは似つかないエッジですが、こんなものと、思って③ロゴ保存を押します
    背景のエッジが検出される場合は、異なる画面で、複数回ロゴ抽出を押してください。ロゴエッジのみになります
    留意事項 ロゴの範囲は、周囲に少し余裕をもって選択してください。ロゴ判別で、4dotまで離れた位置まで検索するため




  5. その他タブ

    エンコード処理処理、CM自動カット設定処理、分割結合処理終了時
    にコマンドを実行できます。デフォルトは、シャットダウン処理が記載さ
    れています

    また、各処理終了時に続けて処理したい場合にチェックを入れると次の
    処理を起動します
    メディアプレーヤ版のみ対応

    本チェックは、保存されませんので、つど設定必要です





改変履歴
2019/06/11   分割設定画面 移動時に、キャプチャ座標を追従させるのを忘れていました。追従するように修正
            分割設定画面 最小化できないように変更 また、最前面になるように変更
            分割設定画面 自動処理でエラーがあった場合、メッセージボックスを出して終わっていたのを、メッセージを出して続行するよう
                      また、終了時、エラーログを保存するように変更 保存先は、マイドキュメントです
2019/06/12    分割設定画面 設定時間をクリップボードにコピー 別の動画の設定時間に挿入できるよう改変
            行削除時に、複数のセルを選択状態で削除した場合にエラーになるのを修正
2019/06/15   分割設定画面で、1元ファイルから、複数ファイルにグループ分けして変換できる機能を追加しました
2019/06/16   VLCプレーヤ版を作成しました。
2019/06/22   CMの検出方法を変更しました。 その他バグ修正
2019/06/23   背景白処理の背景輝度の指定に誤りがあったのを訂正 ロゴ検出で-側ではみ出す場合のチェックもれ修正 コマ送りの方法を変更
            (メディアプレーヤ版のみ修正)
2019/06/27   分割設定画面 切り取り箇所をダークブルーのラインで、記載する機能を追加。その他色々バグ修正
2019/06/29    CM自動カット連続処理時、極まれに自動処理が停止するのを回避。
           分割設定画面、ロゴ抽出画面表示時、1行目から表示していたのを、選択行を表示するように変更。
2019/07/11   準備エンコフォーカスが当たっているとこからスタート 入力一覧の内容を変更できるように修正(局名の抽出に失敗した場合の対応)
           その他バグ修正
2019/08/29   分割結合処理で、フォーカスがあたっている行からスタートにバグ修正
2019/09/21   ライブラリを同梱するのを忘れてましたので追加しました



以上、間違いなどありましたら、下記掲示板にどうぞ

ご意見箱