ffmpeg Aufteilen von RGB- und Alpha-Kanälen mithilfe eines Filters

Ich versuche, ffmpeg zu verwenden, um eine Eingabedatei in zwei separate Dateien aufzuteilen:

Ein MP4 mit nur R-, G- und B-KanälenEin MP4 mit dem "extrahierten" A-Kanal (ein sogenannter Key-Clip, vglhttp://ffmpeg-users.933282.n4.nabble.com/quot-Extracting-quot-Alpha-Channel-td3700227.html)

Ich habe es geschafft, beides zu tun, aber jetzt möchte ich sie zu einem einzigen Befehl kombinieren. Folgendes mache ich:

ffmpeg -r $FPS -y -i input.flv -vcodec libx264 -vpre ipod640 -acodec libfaac -s 256x256 -r $FPS -filter_complex INSERT_FILTER_HERE rgb.mp4 alpha.mp4

Hier ist INSERT_FILTER_HERE:

format=rgba, split [rgb_in][alpha_in];
[rgb_in] fifo, lutrgb=a=minval [rgb_out];
[alpha_in] format=rgba, split [T1], fifo, lutrgb=r=maxval:g=maxval:b=maxval, [T2] overlay [out];
[T1] fifo, lutrgb=r=minval:g=minval:b=minval [T2]

Kurz gesagt, ich teile die Datei in zwei Streams auf, für den ersten "entferne" ich den Alphakanal, für den zweiten extrahiere ich eine Graustufendarstellung des Alphakanals. Wenn ich das über graph2dot schreibe, funktioniert es einwandfrei, mit einer Nullsenke als Ausgabe.

Wenn ich es jedoch in ffmpeg mit -filter_complex ausführe, erhalte ich:

ffmpeg version N-41994-g782763e Copyright (c) 2000-2012 the FFmpeg developers
  built on Jun 28 2012 17:45:15 with gcc 4.6.3
  configuration: --enable-gpl --enable-nonfree --enable-pthreads --enable-filters --enable-libfaac --enable-libmp3lame --enable-libx264 --enable-libtheora --enable-libvpx --enable-postproc --enable-avfilter
  libavutil      51. 63.100 / 51. 63.100
  libavcodec     54. 29.101 / 54. 29.101
  libavformat    54. 11.100 / 54. 11.100
  libavdevice    54.  0.100 / 54.  0.100
  libavfilter     3.  0.100 /  3.  0.100
  libswscale      2.  1.100 /  2.  1.100
  libswresample   0. 15.100 /  0. 15.100
  libpostproc    52.  0.100 / 52.  0.100
Input #0, flv, from 'input.flv':
  Metadata:
    audiodelay      : 0
    canSeekToEnd    : true
  Duration: 00:01:10.56, start: 0.000000, bitrate: 1964 kb/s
    Stream #0:0: Video: vp6a, yuva420p, 800x950, 1536 kb/s, 25 tbr, 1k tbn, 1k tbc
    Stream #0:1: Audio: mp3, 44100 Hz, stereo, s16, 128 kb/s
[graph 0 input from stream 0:0 @ 0x2e4c6e0] w:800 h:950 pixfmt:yuva420p tb:1/30 fr:30/1 sar:0/1 sws_param:flags=2
Output pad "default" for the filter "Parsed_lutrgb_3" of type "lutrgb" not connected to any destination

Irgendwelche Ideen, wie ich ffmpeg erkennen lasse, dass es [rgb_out] in rgb.mp4 und [out] in alpha.mp3 schreiben muss?

Danke im Voraus!

Antworten auf die Frage(1)

Ihre Antwort auf die Frage