Saya mencoba untuk mengkonversi mov dengan saluran alpha ke webm dengan saluran alpha oleh ffmpeg. Namun, yang saya dapatkan adalah video webm tanpa saluran alpha . Metode saya didasarkan pada tautan tersebut:
- Transparansi alfa dalam video Chrome oleh Google
- Konversikan mov dengan Alpha ke VP9 Webm dengan Alpha Menggunakan ffmpeg
Kode yang saya gunakan:
ffmpeg -i input.mov -c:v libvpx-vp9 output.webm
Dan hasilnya di sini:
ffmpeg version 4.1 Copyright (c) 2000-2018 the FFmpeg developers
built with Apple LLVM version 10.0.0 (clang-1000.11.45.5)
configuration: --prefix=/usr/local/Cellar/ffmpeg/4.1_2 --enable-shared --enable-pthreads --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-ffplay --enable-gpl --enable-libmp3lame --enable-libopus --enable-libsnappy --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libxvid --enable-lzma --enable-libfreetype --enable-frei0r --enable-libass --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-librtmp --enable-libspeex --enable-videotoolbox
libavutil 56. 22.100 / 56. 22.100
libavcodec 58. 35.100 / 58. 35.100
libavformat 58. 20.100 / 58. 20.100
libavdevice 58. 5.100 / 58. 5.100
libavfilter 7. 40.101 / 7. 40.101
libavresample 4. 0. 0 / 4. 0. 0
libswscale 5. 3.100 / 5. 3.100
libswresample 3. 3.100 / 3. 3.100
libpostproc 55. 3.100 / 55. 3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'overlap_1.mov':
Metadata:
major_brand : qt
minor_version : 537199360
compatible_brands: qt
creation_time : 2019-01-17T08:43:07.000000Z
Duration: 00:00:04.00, start: 0.000000, bitrate: 34346 kb/s
Stream #0:0(eng): Video: qtrle (rle / 0x20656C72), bgra(progressive), 1080x1080, 32249 kb/s, SAR 1:1 DAR 1:1, 24 fps, 24 tbr, 24 tbn, 24 tbc (default)
Metadata:
creation_time : 2019-01-17T08:43:07.000000Z
handler_name : Apple Video Media Handler
encoder : Animation
timecode : 00:00:00:00
Stream #0:1(eng): Data: none (tmcd / 0x64636D74), 0 kb/s (default)
Metadata:
creation_time : 2019-01-17T08:43:07.000000Z
handler_name : Time Code Media Handler
timecode : 00:00:00:00
File 'overlap_C1.webm' already exists. Overwrite ? [y/N] y
Stream mapping:
Stream #0:0 -> #0:0 (qtrle (native) -> vp9 (libvpx-vp9))
Press [q] to stop, [?] for help
[libvpx-vp9 @ 0x7ffdb8018200] v1.7.0
Output #0, webm, to 'overlap_C1.webm':
Metadata:
major_brand : qt
minor_version : 537199360
compatible_brands: qt
encoder : Lavf58.20.100
Stream #0:0(eng): Video: vp9 (libvpx-vp9), yuva420p, 1080x1080 [SAR 1:1 DAR 1:1], q=-1--1, 200 kb/s, 24 fps, 1k tbn, 24 tbc (default)
Metadata:
creation_time : 2019-01-17T08:43:07.000000Z
handler_name : Apple Video Media Handler
timecode : 00:00:00:00
encoder : Lavc58.35.100 libvpx-vp9
Side data:
cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
frame= 96 fps=1.6 q=0.0 Lsize= 145kB time=00:00:03.95 bitrate= 299.9kbits/s speed=0.0649x
video:70kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 106.879829%
Menurut output, kita tahu bahwa :
- codec video : vp9
- format piksel : yuva420p
- format file : webm
Itu tampak OK tetapi ketika saya mencoba untuk memutar video ini dengan IINA (pemutar video yang hebat) dan Chrome kemudian video menunjukkan warna hitam bukan saluran alpha. Tidak Ada Saluran Alpha!
Dan saya mencoba codec vp8 lalu saya mendapat efek yang sama dengan video.m saya tidak tahu apa yang terjadi pada saya. Ini adalah situasi saya :
- sistem: macOS mojave 10.14.2
- libvpx: aktifkan
- xcode: terinstal
Semoga ada yang bisa memberi saya saran, terima kasih!