Ffmpegでアルファチャンネル付きのmovをアルファチャンネル付きのwebmに変換しようとしています。しかし、私が得たのはwebmビデオアルファチャネルなしでした。私の方法はそれらのリンクに基づいています:
私が使用したコード:
ffmpeg -i input.mov -c:v libvpx-vp9 output.webm
そしてここでの出力:
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%
出力によると、次のことがわかります。
見た目は問題ありませんが、IINA(優れたビデオプレーヤー)とChrome)でこのビデオを再生しようとすると、ビデオはアルファチャネルではなく黒色で表示されました。アルファチャネルなし!
そして、コーデックvp8を試してみたところ、同じ効果のwebmビデオが表示されました。何が起こったのかわかりません。これが私の状況です:
誰かが私にアドバイスをくれることを願っています、ありがとう!
質問は解決したと思います。 webmビデオにアルファチャンネルがあるかどうかの確認を間違えました。これは、2つのソフトウェアでアルファチャネルを使用してmovを再生し、アルファチャネルを使用してwebmを再生した結果です。
[〜#〜] iina [〜#〜](ビデオプレーヤーはGithubで17034を見つめていました)
Chrome(バージョン71、安定版)
これまでのところ、黒い背景は、webmビデオにアルファチャネルがないと私に思わせました。
次に、 website display how Chrome support the webm video with alpha channel。非常に興味深いのは、webmビデオの背景色を変更できることです。次にチェックしました。 htmlコードでは、CSSを使用して背景色を制御していました。webmビデオにアルファチャネルがあるかどうかを確認するのに最適な方法です。
だから私は私のwebmビデオを確認するためにこの手順を実行しました:
cSSコードをビデオタグに追加します
style = "background-color:rgb(0,255,0)"
webmビデオにアルファチャネルがある場合、ビデオの背景は[〜#〜]緑[〜#〜]に変更されるか、変更されません何でも起こります。そして幸運なことに私のwebmビデオにはアルファチャンネルがあります!
ありがとう、これがお役に立てば幸いです。