2012-02-16 21 views
6

Próbuję przekonwertować plik .mov, który jest Quicktime z kanałem alfa do filmu .mp4. Używam FFMPEG i mogę z powodzeniem przekonwertować wideo na film w .mp4, ale tracę kanał alfa.Konwersja .mov do .mp4 i utrzymanie kanału alfa za pomocą FFMPEG

Oto polecenia Używam:
ffmpeg -i BLUE_LOWER_THIRD.mov -vcodec libx264 -vpre medium blue_lower_third.mp4

Używam tego na Ubuntu 11.10. Oto informacje o mojej instalacji ffmpeg.

ffmpeg version 0.7.3-4:0.7.3-0ubuntu0.11.10.1, Copyright (c) 2000-2011 the Libav developers 
    built on Jan 4 2012 16:08:51 with gcc 4.6.1 
    configuration: --extra-version='4:0.7.3-0ubuntu0.11.10.1' --arch=amd64 --prefix=/usr --enable-vdpau --enable-bzlib --enable-libgsm --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-pthreads --enable-zlib --enable-libvpx --enable-runtime-cpudetect --enable-vaapi --enable-gpl --enable-postproc --enable-swscale --enable-x11grab --enable-libdc1394 --enable-shared --disable-static 
    avutil  configuration: --extra-version='4:0.7.3ubuntu0.11.10.1' --arch=amd64 --prefix=/usr --enable-vdpau --enable-bzlib --enable-libgsm --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-pthreads --enable-zlib --enable-libvpx --enable-runtime-cpudetect --enable-vaapi --enable-libopenjpeg --enable-gpl --enable-postproc --enable-swscale --enable-x11grab --enable-libdirac --enable-libmp3lame --enable-librtmp --enable-libx264 --enable-libxvid --enable-libvo-aacenc --enable-version3 --enable-libvo-amrwbenc --enable-version3 --enable-libdc1394 --enable-shared --disable-static 
    avcodec  configuration: --extra-version='4:0.7.3ubuntu0.11.10.1' --arch=amd64 --prefix=/usr --enable-vdpau --enable-bzlib --enable-libgsm --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-pthreads --enable-zlib --enable-libvpx --enable-runtime-cpudetect --enable-vaapi --enable-libopenjpeg --enable-gpl --enable-postproc --enable-swscale --enable-x11grab --enable-libdirac --enable-libmp3lame --enable-librtmp --enable-libx264 --enable-libxvid --enable-libvo-aacenc --enable-version3 --enable-libvo-amrwbenc --enable-version3 --enable-libdc1394 --enable-shared --disable-static 
    avformat configuration: --extra-version='4:0.7.3ubuntu0.11.10.1' --arch=amd64 --prefix=/usr --enable-vdpau --enable-bzlib --enable-libgsm --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-pthreads --enable-zlib --enable-libvpx --enable-runtime-cpudetect --enable-vaapi --enable-libopenjpeg --enable-gpl --enable-postproc --enable-swscale --enable-x11grab --enable-libdirac --enable-libmp3lame --enable-librtmp --enable-libx264 --enable-libxvid --enable-libvo-aacenc --enable-version3 --enable-libvo-amrwbenc --enable-version3 --enable-libdc1394 --enable-shared --disable-static 
    libavutil 51. 7. 0/51. 7. 0 
    libavcodec 53. 6. 0/53. 6. 0 
    libavformat 53. 3. 0/53. 3. 0 
    libavdevice 53. 0. 0/53. 0. 0 
    libavfilter 2. 4. 0/2. 4. 0 
    libswscale 2. 0. 0/2. 0. 0 
    libpostproc 52. 0. 0/52. 0. 0 

Czy można mieć kanał alfa w pliku mp4? Jeśli tak, jak to zrobić z FFMPEG?

Edytuj: Jest to wynik działania polecenia.

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'BLUE_LOWER_THIRD.mov': 
    Metadata: 
    major_brand  : qt 
    minor_version : 537199360 
    compatible_brands: qt 
    creation_time : 2010-12-21 10:36:51 
    Duration: 00:00:15.00, start: 0.000000, bitrate: 8050 kb/s 
    Stream #0.0(eng): Video: png, bgra, 1920x1080, 8043 kb/s, PAR 1920:1920 DAR 16:9, 30 fps, 30 tbr, 30 tbn, 30 tbc 
    Metadata: 
     creation_time : 2010-12-21 10:36:51 
    Stream #0.1(eng): Data: tmcd/0x64636D74, 0 kb/s 
    Metadata: 
     creation_time : 2010-12-21 10:39:48 
File 'blue_lower_third.mp4' already exists. Overwrite ? [y/N] y 
Incompatible pixel format 'bgra' for codec 'libx264', auto-selecting format 'yuv420p' 
[buffer @ 0x7e3d80] w:1920 h:1080 pixfmt:bgra 
[ffsink @ 0x7edda0] auto-inserting filter 'auto-inserted scaler 0' between the filter 'src' and the filter 'out' 
[scale @ 0x7fc480] w:1920 h:1080 fmt:bgra -> w:1920 h:1080 fmt:yuv420p flags:0x4 
[libx264 @ 0x7fcf20] using SAR=1/1 
[libx264 @ 0x7fcf20] using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle Cache64 
[libx264 @ 0x7fcf20] profile High, level 4.0 
[libx264 @ 0x7fcf20] 264 - core 116 r2042 178455c - H.264/MPEG-4 AVC codec - Copyleft 2003-2011 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=abr mbtree=1 bitrate=200 ratetol=1.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.41 aq=1:1.00 
Output #0, mp4, to 'blue_lower_third.mp4': 
    Metadata: 
    major_brand  : qt 
    minor_version : 537199360 
    compatible_brands: qt 
    creation_time : 2010-12-21 10:36:51 
    encoder   : Lavf53.3.0 
    Stream #0.0(eng): Video: libx264, yuv420p, 1920x1080 [PAR 1920:1920 DAR 16:9], q=0-69, 200 kb/s, 30 tbn, 30 tbc 
    Metadata: 
     creation_time : 2010-12-21 10:36:51 
Stream mapping: 
    Stream #0.0 -> #0.0 
Press ctrl-c to stop encoding 
frame= 450 fps= 11 q=9.0 Lsize=  83kB time=14.93 bitrate= 45.7kbits/s its/s  
video:75kB audio:0kB global headers:0kB muxing overhead 10.287784% 
frame I:2  Avg QP:18.30 size: 2584 
[libx264 @ 0x7fcf20] frame P:118 Avg QP:16.22 size: 310 
[libx264 @ 0x7fcf20] frame B:330 Avg QP:16.75 size: 106 
[libx264 @ 0x7fcf20] consecutive B-frames: 1.8% 0.9% 1.3% 96.0% 
[libx264 @ 0x7fcf20] mb I I16..4: 49.7% 50.0% 0.3% 
[libx264 @ 0x7fcf20] mb P I16..4: 0.5% 0.0% 0.0% P16..4: 0.3% 0.0% 0.0% 0.0%  0.0% skip:99.0% 
[libx264 @ 0x7fcf20] mb B I16..4: 0.0% 0.0% 0.0% B16..8: 0.3% 0.0% 0.0% direct: 0.0% skip:99.6% L0:37.2% L1:62.6% BI: 0.2% 
[libx264 @ 0x7fcf20] final ratefactor: 9.32 
[libx264 @ 0x7fcf20] 8x8 transform intra:38.0% inter:56.1% 
[libx264 @ 0x7fcf20] coded y,uvDC,uvAC intra: 0.9% 4.2% 2.9% inter: 0.0% 0.1% 0.0% 
[libx264 @ 0x7fcf20] i16 v,h,dc,p: 64% 32% 1% 3% 
[libx264 @ 0x7fcf20] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 0% 2% 97% 0% 1% 0% 0% 0% 0% 
[libx264 @ 0x7fcf20] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 5% 60% 23% 2% 6% 1% 1% 1% 2% 
[libx264 @ 0x7fcf20] i8c dc,h,v,p: 86% 13% 1% 0% 
[libx264 @ 0x7fcf20] Weighted P-Frames: Y:0.0% UV:0.0% 
[libx264 @ 0x7fcf20] ref P L0: 79.4% 2.1% 13.2% 5.2% 
[libx264 @ 0x7fcf20] ref B L0: 61.1% 37.7% 1.2% 
[libx264 @ 0x7fcf20] ref B L1: 92.3% 7.7% 
[libx264 @ 0x7fcf20] kb/s:40.85 
+0

Czy możesz podać informacje o strumieniu wejściowym i wynikowym strumienia wideo? –

+0

@ mark-s czy udało Ci się to osiągnąć? jeśli tak, proszę odpowiedzieć na pytanie i zaakceptować je. –

Odpowiedz

0

to:

Niezgodny format pikseli 'BGR ' dla kodeka 'libx264', format automatycznego wybierania 'yuv420p'

gdzie giną Twój Alpha. Spróbuj określić inny format pikseli, który zawiera informacje alfa, chociaż oczywiście nie wszystkie są obsługiwane przez bibliotekę x264.

+0

h.264 nie obsługuje kanału alfa. Możesz użyć ffmpeg do kodowania do kodeka Quicktime Animation, który obsługuje format kanału alfa. Możesz także wypróbować nowszy format, taki jak WebM obsługujący kanał alfa. – MoDJ

Powiązane problemy