GitHubじゃ!Pythonじゃ!

GitHubからPython関係の優良リポジトリを探したかったのじゃー、でも英語は出来ないから日本語で読むのじゃー、英語社会世知辛いのじゃー

antiboredom

videogrep – pythonによる自動ビデオスーパーカット

投稿日:

pythonによる自動ビデオスーパーカット http://antiboredom.github.io/videogrep

ビデオゲーム

Videogrepは、ビデオファイル(.srtまたは.vttサブタイトルトラック、またはポケットフィックスの文字列を使用)でダイアログを検索し、見つかったものに基づいてスーパーカットを作成するコマンドラインツールです。

Videogrepには、実験的なグラフィックインターフェイス(Macのみ)もあります。 ここからダウンロード: http : //saaaam.s3.amazonaws.com/VideoGrep.app.zip

要件

ピップでインストールする

pip install videogrep

Ogg / Vorbisをサポートするffmpegをインストールしてください。 あなたが自家製のMacであれば、ffmpegを次のようにインストールすることができます:

brew install ffmpeg --with-libvpx --with-libvorbis

(オプション)単語レベルの文字列用のpocketsphinxをインストールします。 Macの場合:

brew tap watsonbox/cmu-sphinx
brew install --HEAD watsonbox/cmu-sphinx/cmu-sphinxbase
brew install --HEAD watsonbox/cmu-sphinx/cmu-sphinxtrain # optional
brew install --HEAD watsonbox/cmu-sphinx/cmu-pocketsphinx

それの使い方!

最も基本的な使い方:

videogrep --input path/to/video_or_folder --search 'search phrase'

任意の正規表現を検索フレーズに入れることができます。

Pattern.en( pip install pattern )をpip install patternと、品詞タグを検索することもできます。 これがどのように機能するかについての詳細は、 Pattern-Searchのドキュメントを参照してください。使用可能な品詞タグのリストについては、 Penn Treeバンクタグを参照してください。 たとえば、次の例では、形容詞(JJ)の後に単数名詞(NN)が続くすべての対話行を検索します。

videogrep --input path/to/video_or_folder --search 'JJ NN' --search-type pos

パターンでは、 上位の検索を行うこともできます。これは基本的に、特定のカテゴリに適合する単語を検索します。 たとえば、次の例では、液体(水、コーヒー、ビールなど)を参照するダイアログの行を検索します。

videogrep --input path/to/video_or_folder --search 'liquid' --search-type hyper

注:videogrepでは、字幕トラックとビデオファイルの名前が拡張子まで完全に一致する必要があります。 たとえば、my_movie.mp4とmy_movie.srtは動作し、my_movie.mp4とmy_movie_subtitle.srtは機能しません。

オプション

videogrepにはいくつかのオプションがあります:

– 入力/ -i

ビデオまたは字幕ファイル、または複数のファイルを含むフォルダ

–output / -o

生成するファイルの名前。 デフォルトではこれは “supercut.mp4″です。

–search / -s

検索語

–search-type / -st

実行する検索のタイプ​​。 3つのオプションがあります。

  • re: 正規表現です (これがデフォルトです)。
  • pos:音声検索の一部( pattern.searchを使用)。 たとえば、 ‘JJ NN’は、形容詞とそれに続く名詞を含むダイアログのすべての行を返します。
  • ハイパー:ハイパーシン検索。 例えば、 ‘body parts’は、本体部分を参照するダイアログのすべての行を取得します
  • 単語:個々の単語を抽出する – 複数の単語に対しては ‘|’ シンボル(pocketsphinxが必要)。
  • フランケン: “フランケンシュタイン”文を作成する(ポケットフィックスが必要)
  • フラグメント: ‘blue *’のようなワイルドカードを使用できる複数の単語(pocketsphinxが必要)

–max-clips / -m

スーパーカットに使用するクリップの最大数

–demo / -d

スーパーカットをせずに検索結果を表示する

–randomize / -r

クリップの順序をランダム化する

– パディング/ -p

各クリップの開始と終了に追加するパディング(ミリ秒単位)

–use-vtt / -vtt

.srt字幕ファイルではなく.vttファイルを使用してください。 これが有効になっていて、YouTubeの字幕サービスから.vttを取得した場合は、単語単位で検索できます。

–transcribe / -tr

audiogrep / pocketsphinxを使用してビデオを書き換えます。 最初にpocketsphinxをインストールする必要があります!

–use-transcript / -t

検索には字幕ファイルではなく、pocketsphinxのトランスクリプトを使用します。 これが有効になっている場合は、単語単位で検索できます。

サンプル

それをモジュールとして使用する

from videogrep import videogrep

videogrep('path/to/your/files','output_file_name.mp4', 'search_term', 'search_type')

videogrepモジュールは、コマンドラインスクリプトと同じパラメータを受け入れます。 使用状況を確認するにはソースをチェックしてください。







-antiboredom

執筆者: