コマンドラインからoggビデオファイルを連結する


18

はい。デスクトップレコーディングツールを使用して作成したoggファイルをいくつか持っていますffmpeg(主に始まりと終わりを切り取るために)1回使用してトランスコードしました。

今、私は単一の.ogvファイルに連結したい3つのそのようなファイルを持っています。を使用oggCatしてみましたが、何らかのエラーでクラッシュしました(ファイルを使用oggCatしてファイルをそれ自体に連結しようとしましたが、失敗し、私のディストリビューションが壊れたバージョンのパッケージを出荷していると信じられませんでした)。catファイルを単純にingすることはできますが、私はどれがクールでないかを見つけることができません。mencoderこのように実行しmencoder -ovc lavc -oac lavc file1.ogv file2.ogv file3.ogv -o complete.ogvます。ファイルをにトランスコードしavi、3つのビデオの一部を切り取ります。

だから、これをどうやってやるの?

アップデート1:私の現在の回避策は、に3つのファイルをトランスコードすることで.mpg使用してffmpeg、その後、catそれらを一緒にINGの、その後バックにそれらをトランスコードogv

更新2:PiTiViはこの種のもので動作しますが、自動化およびスクリプト化できるコマンドラインから何かが必要です。


@gry、現在の答えには何が欠けていますか?
soandos

@gry、しかしあなたはまったく同じ機能が欲しいが、違う名前が欲しい?またはあなたが探している機能の違いがあります。これがOPが求めていたものであることに同意しません。彼は自分のファイルを連結したかったのですが、oggCatは動作していませんでした。今はそうですので、私は何が欠けているのかについては従いません。
soandos

@soandos:元の質問は「oggCatが機能しないのですが、代替手段はありますか?」そして、質問者はそれを機能させましたが、当初の予想通りに可能な代替案を見つけることは有用かもしれません。

@ gry、it 1)が修正されました(私の回答の最後のコメントを参照)および2)引用しているコメントが見つかりません。
soandos

1
私の主な目的は、ビデオを連結することでした。答えが出るまでに、私はogvから離れたので、質問をあまり気にしませんでした。質問をしたときにoggCatが機能していなかったため、oggCatを使用したくないと明示的に述べました。
ヌファルイブラヒム

回答:


9

Ogg Video Toolsはあなたが探していることをするようです。

簡単な説明:

2つ以上のビデオファイルを連結(結合)するとよい場合があります。そのために、oggCatを使用できます。oggCatは、指定されたファイルから連続的なOggビデオファイルを作成します。

# oggCat newFile.ogv file1.ogv file2.ogv [ file3.ogv [...] ]

注:ビデオファイルは、フレームレート、キーフレームギャップ、フレームサイズなどが一致している必要があります。

詳細はこちらこちらをご覧ください。


2
私は質問でoggCatでの経験を述べました。ファイルをそれ自体に連結しようとしても機能しませんでした。
ヌファルイブラヒム

パッケージを直接ダウンロードしてみましたか?そして、エラーは何でしたか?
soandos

1
ソースからコンパイルしてみました。非常に大きなhexdumpを取得してから、セグメンテーション違反を取得しました。
ヌファルイブラヒム

このファイル?コンパイルに失敗した場合は、以前のバージョンを試してください。
soandos

1
これがあなたの用途かどうかはわかりませんが、ダウンロードしたバイナリバージョンは動作します。
soandos

5

これにはffmpegのconcat demuxerを使用します(ffmpegの最新バージョンが必要です)。

まず、inputs.txt(または任意の名前)というファイルを作成します。このファイルには次のような行が含まれます。

file '/path/to/input1.ogv'
file '/path/to/input2.ogv'
file '/path/to/input3.ogv'

相対ファイルパスまたは絶対ファイルパスを指定できることに注意してください。ファイルがすべて同じディレクトリにあり、input1.ogv、input2.ogv ...のようなパターンで名前が付けられている場合、forループを使用してinputs.txtを生成できます。

rm inputs.txt; for f in input*.ogv; do echo "$f" >> inputs.txt; done

ファイルを作成したら、次のようにogvファイルを無損失で連結できます。

ffmpeg -f concat -i inputs.txt -c copy output.ogv

ああ、私自身でこれを考えた直後にこの答えを見つけました。いくつかの奇妙なエラーのために、oggCatソリューションはうまくいきませんでした。これは...よく働い
Jindra Helcl

1

PiTiViを使用してみましたか?3つのクリップをタイムラインに順番に配置し、結果を1つのファイルとして保存します。


はい、しかしそれはコマンドラインではありません。PiTiViを使用している場合、スクリプトを使用してこれを自動化することはできません。
ヌファルイブラヒム

1
私は今、私の質問でポイントを述べました。
ヌファルイブラヒム

1

http://www.xiph.org/oggz/には機能があり、

  • マージマージのOggは、注文ofpresentation時間内のページをインターリーブ、一緒ファイル。

編集:これは、次から次へとビデオを再生したいので、あなたが望むことをしません。


http://sox.sourceforge.netも動作する可能性があります。構文(http://sox.sourceforge.net/sox.html):

 sox infile1 infile2 outfile

編集:これは音声のみを処理します。


あなたはoggvideotoolsコンパイルしようとすることができます oggCatが動作するかどうかを確認できます。

編集:これはあなたのために働いた...


http://sourceforge.net/projects/oggvideotools/supportで、1)ディストリビューションリポジトリから取得したバイナリを実行するときのエラーメッセージのテキストなど、ディストリビューションの問題を修正するように依頼できます。2)コンパイル3)コンパイルされたバージョンを実行します。

編集:連結を行う代替プログラムを探しています。


mkvtoolnixを使用してoggファイルを単一のmkvに連結してから、同じツールを使用してそこからoggを抽出してみてください


1
マージは連結とは異なり、私が望むことをしません。soxは音声のみで、動画は処理しません。
ヌファルイブラヒム

1
「プレゼンテーション時間の順にページをインターリーブします」。連結したいです。片方はもう片方が終わった後にプレイする必要があります。
ノファルイブラヒム

1
これが唯一の回答であるため、Stack Exchangeは質問にまったく回答しなくても賞金を授与すると思います。
ヌファルイブラヒム

1
これらのツールのいずれかを「修正」するには、それぞれのメーリングリスト、問題追跡ツールに問い合わせてください。指定したものの代替を探しています。
ヌファルイブラヒム

1
mkvtoolnixを試してみますoggCatが、実際に機能するものを好むでしょう。私はoggをあきらめました。多くの人はそれを再生するように見えることはできません。webmとflvフォールバックに切り替えました。
Noufalイブラヒム
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.