Skip to main content
Participant
August 19, 2017
質問

自動処理の方法があれば教えてください。

  • August 19, 2017
  • 返信数 8.
  • 2373 ビュー

20個程度の動画(5秒程度)を5つのグループ(A~Eとします)に分け、ABCDEという形で順にクリップを繋げた動画を全てのパーターンで出力したいのですが、何かよい方法はないでしょうか?

自動で出力できる機能が、あれば教えてください。

よろしくお願い致します。

    このトピックへの返信は締め切られました。

    返信数 8

    mooon3200作成者
    Participant
    August 22, 2017

    Ckun​さま Yamonov@フリーランスレタッチャー​さま

    ご返信が遅くなりまして申し訳ございません!
    そしてサンプルコードまで作っていただきありがとうございます(泣)
    いただいたアドバイスを元に動画を作っていければと思います!
    注意事項の件もご配慮ありがとうございます!
    進捗をまたご報告致します。
    取り急ぎお礼まで!!

    Yamonov
    Legend
    August 21, 2017

    Macでしたら、アプリケーション/ユーティリティーフォルダ内の「ターミナル」を使って処理できます。

    各動画を

    a1.mp4

    a2.mp4

    .

    .

    .

    e1.mp4

    e2.mp4

    と名前を付けてデスクトップの一つのフォルダにまとめておきます。フォルダ名を「douga」としましょう。

    そのフォルダ内に、以下のスクリプトをコピペしたテキストファイルを作っておき、例えば「ketsugou」とでも名前を付けておきます(拡張子は不要)

    #!/bin/sh

    for ((a=1;a<5;a++))

    {

        for ((b=1;b<5;b++))

        {

            for((c=1;c<5;c++))

            {

                for((d=1;d<5;d++))

                {

                    for((e=1;e<5;e++))

                    {

                    cat "a${a}.mp4" "b${b}.mp4" "c${c}.mp4" "d${d}.mp4" "e${e}.mp4" > "${a}${b}${c}${d}${e}.mp4"

                    }

                }

            }

        }

    }

    ターミナルで「cd ~/Desktop/douga」としてデスクトップのdougaフォルダ内に移動し、

    sh ketsugou

    とやれば

    11111.mp4

    11112.mp4

    .

    .

    .

    44443.mp4

    44444.mp4

    がまとめて作られます。

    で、ここ注意事項ですが、私はこのスクリプト(shellスクリプトと言います)は詳しくないので、変な書き方になっています。動作について保証はできません(一応こちらの環境では動作します)。さらに動画も仕事にするほどにはやりこんでいませんから、単純結合したファイルで何が起きるのかは分かりません(一応、catで繋げたことはあります)

    と言うわけで、動作しない、動作がおかしい、重要なファイルが壊れた、動画が見られない、等々に対応する気は全くありませんし、保証する気もありませんので、ご自身で十分お調べの上で参考程度に見て頂ければ幸いです。

    ※スクリプト内の「.mp4」は使用する動画ファイルの拡張子に合わせてください。

    --Yamonov
    mooon3200作成者
    Participant
    August 21, 2017

    皆様
    ご回答ありがとうございます。ご返信が遅くなってしまい申し訳ございません!
    今回、動画素材からWEB上で選択すると25秒の動画が作られるようなことがで来ないかなと思って
    このようなご相談をしました。(私の環境はmacです。)

    Ckun​さま
    ffmpeg活用も考えておりました。(サーバー上で動画を生成するということですよね??)

    生成までの時間がどれくらいかかるのかなという心配をしておりました。

    想定していたのは下記の生成方法でした。(私自身数字に弱く。。不安になりました汗)

    >A〜Eそれぞれから1つずつ選んで25秒の動画にするということですと、1024通りですね。

    Yamonov@フリーランスレタッチャー​さま
    OS環境はmacでございます。CCを使ってます。
    @Ckunさん同様ffmpeg等で自動処理するということですね。この辺りのシステム構築が明るくなく、

    premiereかAftereffectsのバッチ処理等でできないかと思った次第です。

    ちょっと難しそうですね。。

    150kwさま
    説明が足りず、混乱を生みまして申し訳ございません汗汗!

    下記の方法で設定できればと思っておりました。

    >A〜Eそれぞれから1つずつ選んで25秒の動画にするということですと、1024通りですね。

    以上、皆様ありがとうございました。

    ffmpegの方法で何かできないか探ってみたいと思います。

    Ckun
    Community Expert
    Community Expert
    August 21, 2017

    なるほど。WEB用のものなのですね。推測ばかりであまりお役に立てないと思いますが、一応思いつくことを返信してみます。

    事前に1024個のファイルを作成したり、ブラウザからのリクエストでサーバ側で結合された動画を生成するのではなく、サーバ上の20個から選ばれた5個のファイルをブラウザ側でシームレスで連続再生する仕組みを考えた方がスマートかなと思います(完全にシームレス再生できるかどうかは私もよくわかりませんが……)。

    もし事前に1024個作ってしまった方がWEBサイトの構築が簡単ということでしたら、20個のファイルをAdobe Media EncoderでMPEG系のTSファイルにし、Yamonovさんがお書きになってましたcatコマンドでも動画の結合ができそうな気がします。

    ちなみにffmpegについては、WEBサーバ側ではなく制作段階の書き出しで使用する意味合いで書きました。ffmpegはMPEGライセンスの関係で商用利用に注意が必要らしいので、お仕事でのご利用でしたらお気をつけください。

    Yamonov
    Legend
    August 20, 2017

    一応、OSも書いてください。

    MacとWinでは使い方等かなり異なります。

    また、一応ここはAdobeのフォーラムですので、コマンドについてのご質問にはヒント程度のお答えになるかもしれません。

    (単にcatでもいけるのかな?)

    --Yamonov
    Yamonov
    Legend
    August 20, 2017

    数字弱いんですが… A〜Eの順番は変わらないのですから、4^5で1024通りでいいんじゃないかな…と思います。

    --Yamonov
    Yamonov
    Legend
    August 20, 2017

    Ckunさんの、ABCDEをそれぞれ同じファイル形式で書き出しておいて、forで回してffmpeg等で自動処理する方法に一票です。

    -c copyオプション付ければそれほど時間かからないかと思います。

    ただ疑問なのですが、それだけ大量のファイルをどう扱うお考えなのでしょうか。

    最終的にやりたいことを書いて頂ければ、分かる方からの別のアドバイスが出るかもしれませんよ。

    --Yamonov
    mooon3200作成者
    Participant
    August 19, 2017

    こんにちは、150kwさん
    ご回答ありがとうございます。そしてわかりにくい質問で申し訳有りません。

    >・「全てのパターン」の意味が良く理解できないのですが。
    >もしかしたら、ABCDEの並べ替えの 5!通りの組み合わせということですか。

    ABCDEの順番は変わらないのですが、各グループ(ABCDEの中に各4つずつ動画を割り振ってます。)の動画の

    組み合わせを変えていきたいと思ってます。(総数は4の5乗=1024個分かと思います)

    1パターンの出力は、1シーケンス単位または1プロジェクト単位ですか。
    ・1シーケンス単位です。

    よろしくお願い致します。

    Ckun
    Community Expert
    Community Expert
    August 20, 2017

    ひょっとして数百万通りになりませんか?

    用途によっては再生側のプログラムで制御した方が良いように思います。

    こういったことは専門ではないのですが、ffmpegをコマンドラインから呼び出してバッチで変換出力するですとか、TSファイルのようなファイル結合しやすい形式にしておいて、簡単なプログラムで組み合わせて結合するなどの方法があるのかなと思います。

    少なくとも、Premiere Proはこのような用途には向いていないように思います。

    (EDLやAAFファイルを簡単なプログラムで作成してPremiereに読み込ませることはできるかもしれませんが、膨大な数のシーケンスを正常に扱えるか疑問です。)

    150kw
    Community Expert
    Community Expert
    August 20, 2017

    本題からそれてしまいますが、

    このような組み合わせは、中学か高校で習ったのでしょうか、忘れてしまいましたが。

    4!×4!×4!×4!×4!=7,962,624 通りで合っているでしょうか。

    どなたか採点してください(笑)。

    150kw
    Community Expert
    Community Expert
    August 19, 2017

    こんばんは、mooon3200さん

    >全てのパーターンで出力したいのですが、

    ・「全てのパターン」の意味が良く理解できないのですが。もしかしたら、ABCDEの並べ替えの 5!通りの組み合わせということですか。

    ・1パターンの出力は、1シーケンス単位または1プロジェクト単位ですか。