<div dir="auto"><div>Hi,<br><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Le jeu. 9 mars 2023, 09 h 00, amindfv--- via gstreamer-devel <<a href="mailto:gstreamer-devel@lists.freedesktop.org">gstreamer-devel@lists.freedesktop.org</a>> a écrit :<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I've got an A420_10LE video stream I'd like to write to a file, preserving its alpha channel.<br>
<br>
I've found that I can use ProRes, with a pipeline like:<br>
<br>
... ! video/x-raw,format=A420_10LE ! videoconvert ! video/x-raw,format=A444_10LE ! avenc_prores ! qtmux ! filesink<br>
<br>
This works but it's slow and results in massive files (almost 5GB for 30 seconds of 1080p video).<br>
<br>
Are there faster+smaller options (encoders and maybe muxers) for writing to files with alpha? And in the spirit of learning to fish, how could I have found them (e.g. with `gst-inspect`)?<br></blockquote></div></div><div dir="auto"><br></div><div dir="auto">For higher compression, I'd opt for lossy compression. At 1080p, VP9, H.264 would be good option. VP9 + webm (matroska) seems the shortest path.</div><div dir="auto"><br></div><div dir="auto">I'd basically wrap 2 vp9enc into a bin. Adding a simple element alphasplit, to seperate the stream in two, and finally having a vp9alphacombine that takes two vp9 streams and attach the alpha using the existing meta into the color stream. The final step would to to add matroskamux support.</div><div dir="auto"><br></div><div dir="auto">But if implementing this is not for you, FFMPEG fully support this, you can add FFMPEG element, or wrap it with appsrc/sink.</div><div dir="auto"><br></div><div dir="auto"><br></div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Thanks,<br>
Tom<br>
</blockquote></div></div></div>