0

透明な mov または flv を画像の上に重ねようとしています。

私は、ffmpeg または avconv を使用して、両方のオプションを受け入れています。

これが私のコマンドです:

ffmpeg -i bg.png -i input.mov -vf \
'[0:v]setpts=PTS-STARTPTS, pad=iw*2:ih[bg]; \
[1:v]setpts=PTS-STARTPTS,scale=720:400[fg]; [bg][fg]overlay=w' -vf yadif -pix_fmt rgba     -y -vcodec qtrle -an output.mov

私はこれを取得します:

ffmpeg version 0.8.9-4:0.8.9-0ubuntu0.12.04.1, Copyright (c) 2000-2013 the Libav developers
  built on Nov  9 2013 19:08:00 with gcc 4.6.3
*** THIS PROGRAM IS DEPRECATED ***
This program is only provided for compatibility and will be removed in a future release. Please use avconv instead.
Input #0, image2, from '/home/socialvideos/public_html/public/images/blue_bg.png':
  Duration: 00:00:00.04, start: 0.000000, bitrate: N/A
    Stream #0.0: Video: png, rgb24, 720x400, 25 tbr, 25 tbn, 25 tbc
Input #1, mov,mp4,m4a,3gp,3g2,mj2, from '/home/socialvideos/public_html/actor/opening/1.mov':
  Metadata:
    major_brand     : qt  
    minor_version   : 537199360
    compatible_brands: qt  
    creation_time   : 2014-01-22 18:12:38
  Duration: 00:00:09.28, start: 0.000000, bitrate: 119710 kb/s
    Stream #1.0(eng): Video: qtrle, bgra, 1280x720, 120236 kb/s, PAR 1280:1280 DAR 16:9, 25 fps, 25 tbr, 25 tbn, 25 tbc
    Metadata:
      creation_time   : 2014-01-22 18:12:38
    Stream #1.1(eng): Audio: pcm_s16le, 48000 Hz, stereo, s16, 1536 kb/s
    Metadata:
      creation_time   : 2014-01-22 18:12:38
    Stream #1.2(eng): Data: tmcd / 0x64636D74, 0 kb/s
    Metadata:
      creation_time   : 2014-01-22 18:12:47
Incompatible pixel format 'rgba' for codec 'qtrle', auto-selecting format 'rgb24'
[buffer @ 0x10cf8c0] w:1280 h:720 pixfmt:bgra
[yadif @ 0x10c8980] mode:0 parity:-1 auto_enable:0
[avsink @ 0x10c8400] auto-inserting filter 'auto-inserted scaler 0' between the filter 'Parsed filter 0 yadif' and the filter 'out'
[yadif @ 0x10c8980] auto-inserting filter 'auto-inserted scaler 1' between the filter 'src' and the filter 'Parsed filter 0 yadif'
[scale @ 0x10cc9a0] w:1280 h:720 fmt:bgra -> w:1280 h:720 fmt:yuv420p flags:0x4
[scale @ 0x10cbdc0] w:1280 h:720 fmt:yuv420p -> w:1280 h:720 fmt:rgb24 flags:0x4
Output #0, mov, to 'out.mov':
  Metadata:
    encoder         : Lavf53.21.1
    Stream #0.0(eng): Video: qtrle, rgb24, 1280x720 [PAR 1:1 DAR 16:9], q=2-31, 200 kb/s, 25 tbn, 25 tbc
    Metadata:
      creation_time   : 2014-01-22 18:12:38
Stream mapping:
  Stream #1.0 -> #0.0
Press ctrl-c to stop encoding
frame=    2 fps=  0 q=0.0 size=     654kB time=0.08 bitrate=66996.3kbits/s    
frame=    5 fps=  4 q=0.0 size=    1213kB time=0.20 bitrate=49692.2kbits/s    
frame=    8 fps=  4 q=0.0 size=    2068kB time=0.32 bitrate=52952.9kbits/s    
frame=   10 fps=  4 q=0.0 size=    2826kB time=0.40 bitrate=57880.0kbits/s    
frame=   12 fps=  4 q=0.0 size=    3621kB time=0.48 bitrate=61805.2kbits/s    
frame=   14 fps=  4 q=0.0 size=    4433kB time=0.56 bitrate=64846.9kbits/s    
frame=   17 fps=  4 q=0.0 size=    5598kB time=0.68 bitrate=67435.6kbits/s    
frame=   19 fps=  4 q=0.0 size=    6368kB time=0.76 bitrate=68643.7kbits/s    
frame=   21 fps=  4 q=0.0 size=    7145kB time=0.84 bitrate=69683.8kbits/s    
frame=   23 fps=  4 q=0.0 size=    7901kB time=0.92 bitrate=70352.7kbits/s    
frame=   26 fps=  4 q=0.0 size=    9179kB time=1.04 bitrate=72298.4kbits/s    
frame=   28 fps=  4 q=0.0 size=    9743kB time=1.12 bitrate=71260.9kbits/s    
frame=   30 fps=  4 q=0.0 size=   10562kB time=1.20 bitrate=72100.4kbits/s    
frame=   32 fps=  4 q=0.0 size=   11375kB time=1.28 bitrate=72802.4kbits/s    
frame=   34 fps=  4 q=0.0 size=   12162kB time=1.36 bitrate=73256.3kbits/s    
frame=   37 fps=  4 q=0.0 size=   13404kB time=1.48 bitrate=74190.5kbits/s    
frame=   39 fps=  4 q=0.0 size=   14080kB time=1.56 bitrate=73936.2kbits/s    
frame=   41 fps=  4 q=0.0 size=   14763kB time=1.64 bitrate=73744.3kbits/s    
frame=   44 fps=  4 q=0.0 size=   15690kB time=1.76 bitrate=73030.4kbits/s    
frame=   47 fps=  4 q=0.0 size=   16660kB time=1.88 bitrate=72595.6kbits/s    
frame=   49 fps=  4 q=0.0 size=   17418kB time=1.96 bitrate=72798.4kbits/s    
frame=   51 fps=  4 q=0.0 size=   18060kB time=2.04 bitrate=72524.8kbits/s    
frame=   54 fps=  4 q=0.0 size=   18805kB time=2.16 bitrate=71320.3kbits/s    
frame=   56 fps=  4 q=0.0 size=   19498kB time=2.24 bitrate=71305.2kbits/s    
frame=   58 fps=  4 q=0.0 size=   20178kB time=2.32 bitrate=71247.7kbits/s    
frame=   60 fps=  4 q=0.0 size=   20892kB time=2.40 bitrate=71310.3kbits/s    
frame=   63 fps=  4 q=0.0 size=   22028kB time=2.52 bitrate=71609.8kbits/s    
frame=   65 fps=  4 q=0.0 size=   22729kB time=2.60 bitrate=71613.6kbits/s    
frame=   68 fps=  4 q=0.0 size=   23827kB time=2.72 bitrate=71762.8kbits/s    
frame=   71 fps=  4 q=0.0 size=   24865kB time=2.84 bitrate=71724.5kbits/s    
frame=   74 fps=  4 q=0.0 size=   26029kB time=2.96 bitrate=72035.8kbits/s    
frame=   76 fps=  4 q=0.0 size=   26746kB time=3.04 bitrate=72074.2kbits/s    
frame=   79 fps=  4 q=0.0 size=   27642kB time=3.16 bitrate=71659.3kbits/s    
frame=   82 fps=  4 q=0.0 size=   28743kB time=3.28 bitrate=71787.0kbits/s    
frame=   85 fps=  4 q=0.0 size=   29929kB time=3.40 bitrate=72111.4kbits/s    
frame=   87 fps=  4 q=0.0 size=   30602kB time=3.48 bitrate=72037.4kbits/s    
frame=   89 fps=  4 q=0.0 size=   31242kB time=3.56 bitrate=71892.2kbits/s    
frame=   92 fps=  4 q=0.0 size=   32091kB time=3.68 bitrate=71437.1kbits/s    
frame=   95 fps=  4 q=0.0 size=   32972kB time=3.80 bitrate=71080.2kbits/s    
frame=   98 fps=  4 q=0.0 size=   34038kB time=3.92 bitrate=71132.0kbits/s    
frame=  101 fps=  4 q=0.0 size=   35037kB time=4.04 bitrate=71046.2kbits/s    
frame=  104 fps=  4 q=0.0 size=   35901kB time=4.16 bitrate=70697.3kbits/s    
frame=  107 fps=  4 q=0.0 size=   36980kB time=4.28 bitrate=70780.7kbits/s    
frame=  109 fps=  4 q=0.0 size=   37800kB time=4.36 bitrate=71022.0kbits/s    
frame=  111 fps=  4 q=0.0 size=   38488kB time=4.44 bitrate=71011.5kbits/s    
frame=  114 fps=  4 q=0.0 size=   39415kB time=4.56 bitrate=70808.9kbits/s    
frame=  117 fps=  4 q=0.0 size=   40404kB time=4.68 bitrate=70725.0kbits/s    
frame=  119 fps=  4 q=0.0 size=   41076kB time=4.76 bitrate=70691.3kbits/s    
frame=  121 fps=  4 q=0.0 size=   41885kB time=4.84 bitrate=70892.5kbits/s    
frame=  123 fps=  4 q=0.0 size=   42622kB time=4.92 bitrate=70967.6kbits/s    
frame=  125 fps=  4 q=0.0 size=   43368kB time=5.00 bitrate=71054.0kbits/s    
frame=  127 fps=  4 q=0.0 size=   44161kB time=5.08 bitrate=71214.6kbits/s    
frame=  130 fps=  4 q=0.0 size=   45070kB time=5.20 bitrate=71002.5kbits/s    
frame=  132 fps=  4 q=0.0 size=   45782kB time=5.28 bitrate=71032.2kbits/s    
frame=  134 fps=  4 q=0.0 size=   46599kB time=5.36 bitrate=71220.3kbits/s    
frame=  136 fps=  4 q=0.0 size=   47270kB time=5.44 bitrate=71183.8kbits/s    
frame=  138 fps=  4 q=0.0 size=   47865kB time=5.52 bitrate=71034.5kbits/s    
frame=  140 fps=  4 q=0.0 size=   48449kB time=5.60 bitrate=70874.3kbits/s    
frame=  142 fps=  4 q=0.0 size=   49013kB time=5.68 bitrate=70689.4kbits/s    
frame=  144 fps=  4 q=0.0 size=   49613kB time=5.76 bitrate=70560.8kbits/s    
frame=  147 fps=  4 q=0.0 size=   50683kB time=5.88 bitrate=70610.9kbits/s    
frame=  149 fps=  4 q=0.0 size=   51231kB time=5.96 bitrate=70417.5kbits/s    
frame=  151 fps=  4 q=0.0 size=   51734kB time=6.04 bitrate=70166.0kbits/s    
frame=  153 fps=  4 q=0.0 size=   52097kB time=6.12 bitrate=69734.9kbits/s    
frame=  155 fps=  4 q=0.0 size=   52591kB time=6.20 bitrate=69487.4kbits/s    
frame=  157 fps=  4 q=0.0 size=   53374kB time=6.28 bitrate=69624.1kbits/s    
frame=  159 fps=  4 q=0.0 size=   54086kB time=6.36 bitrate=69665.9kbits/s    
frame=  161 fps=  4 q=0.0 size=   54805kB time=6.44 bitrate=69715.3kbits/s    
frame=  163 fps=  4 q=0.0 size=   55574kB time=6.52 bitrate=69826.0kbits/s    
frame=  166 fps=  4 q=0.0 size=   56683kB time=6.64 bitrate=69932.4kbits/s    
frame=  168 fps=  4 q=0.0 size=   57421kB time=6.72 bitrate=69999.1kbits/s    
frame=  170 fps=  4 q=0.0 size=   58230kB time=6.80 bitrate=70150.4kbits/s    
frame=  173 fps=  4 q=0.0 size=   59357kB time=6.92 bitrate=70268.0kbits/s    
frame=  176 fps=  4 q=0.0 size=   60482kB time=7.04 bitrate=70378.7kbits/s    
frame=  179 fps=  4 q=0.0 size=   61346kB time=7.16 bitrate=70187.7kbits/s    
frame=  181 fps=  4 q=0.0 size=   62171kB time=7.24 bitrate=70345.9kbits/s    
frame=  184 fps=  4 q=0.0 size=   63299kB time=7.36 bitrate=70454.0kbits/s    
frame=  186 fps=  4 q=0.0 size=   64031kB time=7.44 bitrate=70502.6kbits/s    
frame=  188 fps=  4 q=0.0 size=   64701kB time=7.52 bitrate=70482.4kbits/s    
frame=  191 fps=  4 q=0.0 size=   65731kB time=7.64 bitrate=70479.9kbits/s    
frame=  194 fps=  4 q=0.0 size=   66823kB time=7.76 bitrate=70543.2kbits/s    
frame=  197 fps=  4 q=0.0 size=   67568kB time=7.88 bitrate=70243.5kbits/s    
frame=  200 fps=  4 q=0.0 size=   68378kB time=8.00 bitrate=70018.6kbits/s    
frame=  203 fps=  4 q=0.0 size=   69112kB time=8.12 bitrate=69724.5kbits/s    
frame=  205 fps=  4 q=0.0 size=   69872kB time=8.20 bitrate=69804.1kbits/s    
frame=  207 fps=  4 q=0.0 size=   70548kB time=8.28 bitrate=69798.2kbits/s    
frame=  210 fps=  4 q=0.0 size=   71469kB time=8.40 bitrate=69699.4kbits/s    
frame=  213 fps=  4 q=0.0 size=   72386kB time=8.52 bitrate=69599.5kbits/s    
frame=  216 fps=  4 q=0.0 size=   73281kB time=8.64 bitrate=69480.8kbits/s    
frame=  219 fps=  4 q=0.0 size=   74241kB time=8.76 bitrate=69427.7kbits/s    
frame=  222 fps=  4 q=0.0 size=   75010kB time=8.88 bitrate=69198.2kbits/s    
frame=  225 fps=  4 q=0.0 size=   75861kB time=9.00 bitrate=69050.0kbits/s    
frame=  227 fps=  4 q=0.0 Lsize=   76442kB time=9.08 bitrate=68966.0kbits/s    
video:76439kB audio:0kB global headers:0kB muxing overhead 0.003299%

ただし、生成されたビデオには背景画像がなく、代わりに白色になります。助けてください..

4

1 に答える 1

0

ffmpeg対 " ffmpeg"

コンソール出力でわかるように、おそらくアルファ チャネルが失われているからrgbaへの変換が行われています。リポジトリで利用可能な偽の " " を使用しyuv420pてこれを回避する方法はありません(これらはどちらも Libav からのもので、FFmpeg のフォークです)。ffmpeg、libav、および avconv の違いと関係を誰が教えてくれますか? を参照してください。avconvffmpeg

FFmpegffmpegからの取得

混乱が解消されたので、実数を取得する必要がありますffmpeg。次のいずれかを実行できます。

何かをするのが面倒なら、次のようにしてください。

wget http://ffmpeg.gusari.org/static/32bit/ffmpeg.static.32bit.$(date +"%F").tar.gz
tar xzvf ffmpeg.static.32bit.$(date +"%F").tar.gz

./ダウンロードしたばかりのバイナリを実行するときは、前に を付けることを忘れないでください./ffmpeg(またはフル パスを使用します) ffmpeg

フィルタリング

このオプションformat=rgboverlayビデオ フィルタで使用できます。それ以外の場合は、デフォルトのyuv420pが使用されます:

ffmpeg -y -i bg.png -i input.mov -filter_complex \
"[0:v]setpts=PTS-STARTPTS, pad=iw*2:ih[bg]; \
 [1:v]yadif,setpts=PTS-STARTPTS,scale=720:-1,crop=iw:400[fg]; \
 [bg][fg]overlay=w[out]" \
-map "[out]" -vcodec qtrle output.mov
  • 複雑な filtergraph-filter_complexの代わりに-vf使用します。

  • すべてのフィルタリングは 1 つのfiltergraphyadif内で行われる必要があるため、他のフィルターに移動する必要があります。これにより、いつ使用する必要があるかを正確に制御できるという利点がありますyadif

  • 1280x720 は、縦横比を維持しながら 720x405 にスケーリングされます。-1スケールの例では、値が自動的に決定されます405。次に、クロップを追加して余分な 5 ピクセルを削除し、特定のサイズに単純にスケーリングした場合に発生するわずかなつぶれを回避しました。

  • -pix_fmt rgbaすべてが RGB 内に残るため、おそらく削除することもできます。それでも必要な場合は、format代わりに などのビデオ フィルタを使用しformat=rgbaてください。これにより、フィルタをいつ実装するかを正確に制御できます。

  • filtergraph で出力リンク ラベルに明示的に名前を付けて ([out]この例のように、ほとんど任意の名前を使用できます)、マップすることを好みます。これにより、デフォルトの動作に驚かされることはありません。

  • -y入力オプションの前に宣言する必要があるグローバル オプションです。

于 2014-02-06T18:32:04.123 に答える