私があまり見つけることができないので、[OK]をmelt
ここでは、コマンドラインの使用いくつかのノートは...です(この後、この回答を参照してください引数として特定の拡張子を持つ、ファイルを期待トリックプログラムにプロセス置換を使用して- ?のUnixとLinuxスタック交換スクリプトの経由の例bash
)
まず、Ubuntu / Debianパッケージがありますmelt
(私はUbuntu 11.04とMLT melt 0.6.2を使用しています)。与えられたリンク@Ieltonは、「メディア・ラヴィンツールキット」(MLT)のWiki、のためであるmelt
(が、またの一部であるopenshot
とkdenlive
)。gitのドキュメントテキストファイルへのリンクは次のとおりです。mltframework.org/mlt.git/tree-docs / ; WikiにはBuildScriptsに関するページがあります。
今のところ、私が持っている最大の(唯一の)問題は、非圧縮ビデオコンポジションを(png
フレームまたは非圧縮ビデオフォーマットとして)エクスポートする方法が見つからないことです。
まず、コマンドラインでmelt
フレームを介して再生を制御できます。たとえば、15フレーム長の白い空白を「作成」し、組み込みmelt
プレーヤーで表示するには、次を使用します。
melt -blank 15
で表示するとmelt
、stderr
組み込みプレーヤーのコマンドライン情報も取得できます。
$ melt -blank 15
+-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+
|1=-10| |2= -5| |3= -2| |4= -1| |5= 0| |6= 1| |7= 2| |8= 5| |9= 10|
+-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+
+---------------------------------------------------------------------+
| H = back 1 minute, L = forward 1 minute |
| h = previous frame, l = next frame |
| g = start of clip, j = next clip, k = previous clip |
| 0 = restart, q = quit, space = play |
+---------------------------------------------------------------------+
Current Position: 15
一度melt
あなたが入力する必要がありますので、 -それが終了していないだろう、完了プレーバックでq
それを終了します。
には、いわゆる「プロデューサー」と「コンシューマー」があることに注意してくださいmelt
。何も指定されていない場合、デフォルトの「コンシューマ」はビデオを再生するSDL(Simple DirectMedia Layer)ウィンドウです。したがって、上記のコマンドは次と同じです。
melt -blank 15 -consumer sdl
したがって、melt
表示するものを保存する場合は、コンシューマをファイル形式をサポートするものに変更する必要があります。消費者のリストを取得するには:
$ melt -query "consumers"
---
consumers:
- sdl
- sdl_audio
- sdl_preview
- sdl_still
- gtk2_preview
- avformat
- libdv
- xml
- decklink
- null
...
libdv
消費者の意志出力DVはに直接データをフォーマットしstdout
そうにビデオを保存するために、.dv
あなたがしたいファイル:
melt -blank 15 -consumer libdv > test.dv
リストされた消費者のうち、私が試した唯一の形式は、別のアプリケーションでも開くことができることに注意してくださいlibdv
(私vlc
は別のアプリケーションとして使用しました)。ただし、これは異なるタイプのトランスコーディングでは失敗する場合があります(たとえば、空白の代わりにスニペットを.flv
ファイルから変換しようとすると、結果の.dvファイルが開いて再生されますが、vlc
破損しています)。
次に、編集部分について説明します。基本的に、コマンドラインで一連のファイル名 / in / outスタンザを直接指定できます。あなたがファイルを持っていると言うvideo.avi
-そして、あなたはできる:
melt video.avi in=30 out=79 -blank 15 video.avi in=30 out=79
またはわずかに良いフォーマット:
melt \
video.avi in=30 out=79 \
-blank 15 \
video.avi in=30 out=79
これはvideo.avi
、フレーム30からフレーム79までが再生されることを意味します。次に、15フレームのブランク。次に、video.avi
フレーム30からフレーム79までのシーケンス。
.png
ビデオ編集コンポジションで画像(たとえば、)を利用するには:
melt \
video.avi in=30 out=79 \
test.png in=0 out=15 \
video.avi in=30 out=79 \
-blank 15
以下のためにという注意test.png
、in=
しかし、画像がために表示されます-パラメータが0である必要はありませんout
- in
時間。この場合、in=0
パラメーターを完全に省略するのが最も簡単です。
良いことは、この編集シーケンスをファイルに保存できるmelt
こと、またはそれを呼び出してシリアル化できることです。このようなシリアル化には、「単純」またはXMLの2つの方法があることに注意してください。たとえば、上記のコマンドを「単純な」シリアル化ファイルとして保存する-serialise [filename]
には、コマンドにスイッチを追加するだけです。
$ melt video.avi in=30 out=79 -blank 15 video.avi in=30 out=79 -serialise file.melt
Project saved as file.melt.
今file.melt
含まれています:
video.avi
in=30
out=79
-blank
15
video.avi
in=30
out=79
一見、この「シンプル」連載ファイル形式は、「コメント」の文字が含まれていない-私は「追加しようとすると# comment
、」行を、melt
と文句を言う:「ロードに失敗しました『#コメント』」(しかし、それとは別に、そのようにするようです行は無視され、再生は続行されます)。「.melt
」はmelt
、単純なシリアル化されたファイルとして認識される拡張機能のようです。
ここで、このシリアル化されたファイルを再生するには、原則として単に呼び出すことができますmelt file.melt
-ただし、より完全なコマンドラインは次のようになります。
melt melt_file:file.melt -consumer sdl
...つまり、melt_file
「プロデューサー」を使用してを開きfile.melt
、そのフレームを「コンシューマー」sdl
(ウィンドウ)にレンダリングします。
私は、.flv
ビデオがコマンドラインで問題なく再生されるという経験があることに注意してください-ただし、file.melt
シリアル化されたファイルで指定されている場合、セグメンテーション違反が発生します!それ自体で.dv
制作されたビデオmelt
は、file.melt
...
XMLタイプのシリアル化は、-consumer xml:
スイッチ(ではなく-serialise
)を使用して実現できます。したがって、上記の例は次のようになります。
melt video.avi in=30 out=79 -blank 15 video.avi in=30 out=79 -consumer xml:file.mlt
新しく生成されたfile.mlt
XMLファイルを「再生」するには、直接行うことができますmelt file.mlt
-または、より完全なコマンドラインは次のようになります。
melt xml:file.mlt -consumer sdl
...つまり、xml
「プロデューサー」(以前はコンシューマーでした)を使用して開きfile.mlt
、「コンシューマー」sdl
(ウィンドウ)でフレームをレンダリングします。
この場合、.flv
単純なシリアル化ファイルでセグメンテーション違反を引き起こしたのとまったく同じビデオを経験したことに注意してください-XMLシリアル化ファイルでも問題なく動作します!
この場合、結果のfile.mlt
XMLファイルには、解像度、フレームレート、コーデック情報など、さらに多くの設定がありますが、テキストエディターで直接作業することも困難です。
<?xml version="1.0" encoding="utf-8"?>
<mlt root="/path/to" title="video.avi">
<profile description="automatic" width="320" height="240" progressive="1" sample_aspect_num="1" sample_aspect_den="1" display_aspect_num="320" display_aspect_den="240" frame_rate_num="25" frame_rate_den="1" colorspace="601"/>
<producer id="producer0" in="30" out="79">
<property name="mlt_type">producer</property>
<property name="aspect_ratio">1.000000</property>
<property name="length">125</property>
<property name="eof">pause</property>
<property name="resource">video.avi</property>
<property name="meta.media.nb_streams">2</property>
<property name="meta.media.0.stream.type">video</property>
<property name="meta.media.0.stream.frame_rate">25.000000</property>
<property name="meta.media.0.stream.sample_aspect_ratio">0.000000</property>
<property name="meta.media.0.codec.frame_rate">25.000000</property>
<property name="meta.media.0.codec.pix_fmt">yuv420p</property>
<property name="meta.media.0.codec.sample_aspect_ratio">1.000000</property>
<property name="meta.media.0.codec.colorspace">601</property>
<property name="meta.media.0.codec.name">mpeg4</property>
<property name="meta.media.0.codec.long_name">MPEG-4 part 2</property>
<property name="meta.media.0.codec.bit_rate">0</property>
<property name="meta.media.1.stream.type">audio</property>
<property name="meta.media.1.codec.sample_fmt">s16</property>
<property name="meta.media.1.codec.sample_rate">22050</property>
<property name="meta.media.1.codec.channels">1</property>
<property name="meta.media.1.codec.name">mp2</property>
<property name="meta.media.1.codec.long_name">MP2 (MPEG audio layer 2)</property>
<property name="meta.media.1.codec.bit_rate">64000</property>
<property name="seekable">1</property>
<property name="meta.media.sample_aspect_num">1</property>
<property name="meta.media.sample_aspect_den">1</property>
<property name="meta.attr.title.markup"></property>
<property name="meta.attr.author.markup"></property>
<property name="meta.attr.copyright.markup"></property>
<property name="meta.attr.comment.markup"></property>
<property name="meta.attr.album.markup"></property>
<property name="audio_index">1</property>
<property name="video_index">0</property>
<property name="mlt_service">avformat</property>
</producer>
<producer id="producer1" in="30" out="79">
<property name="mlt_type">producer</property>
<property name="aspect_ratio">1.000000</property>
<property name="length">125</property>
<property name="eof">pause</property>
<property name="resource">video.avi</property>
<property name="meta.media.nb_streams">2</property>
<property name="meta.media.0.stream.type">video</property>
<property name="meta.media.0.stream.frame_rate">25.000000</property>
<property name="meta.media.0.stream.sample_aspect_ratio">0.000000</property>
<property name="meta.media.0.codec.frame_rate">25.000000</property>
<property name="meta.media.0.codec.pix_fmt">yuv420p</property>
<property name="meta.media.0.codec.sample_aspect_ratio">1.000000</property>
<property name="meta.media.0.codec.colorspace">601</property>
<property name="meta.media.0.codec.name">mpeg4</property>
<property name="meta.media.0.codec.long_name">MPEG-4 part 2</property>
<property name="meta.media.0.codec.bit_rate">0</property>
<property name="meta.media.1.stream.type">audio</property>
<property name="meta.media.1.codec.sample_fmt">s16</property>
<property name="meta.media.1.codec.sample_rate">22050</property>
<property name="meta.media.1.codec.channels">1</property>
<property name="meta.media.1.codec.name">mp2</property>
<property name="meta.media.1.codec.long_name">MP2 (MPEG audio layer 2)</property>
<property name="meta.media.1.codec.bit_rate">64000</property>
<property name="seekable">1</property>
<property name="meta.media.sample_aspect_num">1</property>
<property name="meta.media.sample_aspect_den">1</property>
<property name="meta.attr.title.markup"></property>
<property name="meta.attr.author.markup"></property>
<property name="meta.attr.copyright.markup"></property>
<property name="meta.attr.comment.markup"></property>
<property name="meta.attr.album.markup"></property>
<property name="audio_index">1</property>
<property name="video_index">0</property>
<property name="mlt_service">avformat</property>
</producer>
<playlist id="playlist0">
<entry producer="producer0" in="0" out="49"/>
<blank length="16"/>
<entry producer="producer1" in="0" out="49"/>
</playlist>
<tractor id="tractor0" title="video.avi" global_feed="1" in="0" out="115">
<track producer="playlist0"/>
</tractor>
</mlt>