<div dir="ltr"><div><div><div><div><div><div><div><div><div>Hi Jordan.<br><br></div>If you output video in the I420 format (or another YUV format) using GStreamer, you can use<br><br></div>    gst-launch ....... ! fdsink fd=3 3>&1 1>&2 | SomeProgram<br>
<br></div>then you now (given the geometry WxH) for each frame have the first W*H bytes are the luminance pixel by pixel and line by line. Then the next W/2 * H/2 = W*H/4 bytes are the Hue bytes and the next W*H/4 bytes are the saturation or pehaps you have to interchange Hue and Saturation.<br>
<br></div>Anyway each Hue byte covers 4 pixels in the I420 format and the same applies for the Saturation.<br><br></div>The first Hue byte covers pixel the four pixels row-0,col-0 and row-0,col-1 and row-1,col-0 and row-1,col-1 etc.<br>
<br></div>If that is too difficult, you can select I444 format, where you have W*H bytes for Y (Luminance) and then W*H bytes for U and W*H bytes for V.<br><br></div>Your program "SomeProgram" can then extract the bytes you need for each frame and write to a file or stdout. The I420 and the I444 are planar formats meaning, first you have all the Y bytes, then the U bytes and then the V bytes. Packed formats have YUV interleaved.<br>
<br></div><div>See also <a href="https://wiki.videolan.org/YUV/">https://wiki.videolan.org/YUV/</a><br></div><div><br></div>Best regards<br></div>Peter<br><div><div><br><br></div></div></div><div class="gmail_extra"><br><br>
<div class="gmail_quote">On Tue, Jun 24, 2014 at 8:39 PM, Jordan Johnson <span dir="ltr"><<a href="mailto:jwllmjohnson@gmail.com" target="_blank">jwllmjohnson@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr">I am working on an <a href="https://en.wikipedia.org/wiki/CCIR_System_M" target="_blank">NTSC</a> transmitter in gnuiradio, and somehow need to have the<a href="https://en.wikipedia.org/wiki/Luma_%28video%29" target="_blank">luma (monochrome)</a>, and <a href="https://en.wikipedia.org/wiki/Chrominance" target="_blank">chrominance (color difference)</a>. As single raw files. The chrominance must futher be split into hue and saturation channels, as they must be QAM modulated temperately to form the complete color signal. I have the radio portion in place, I simply need some input to test it,<br>

</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Jun 24, 2014 at 2:08 AM, Tim Müller <span dir="ltr"><<a href="mailto:tim@centricular.com" target="_blank">tim@centricular.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Mon, 2014-06-23 at 11:20 -0700, Jordan Johnson wrote:<br>
<br>
Hi Jordan,<br>
<div><br>
> I would like to use gstreamer to take a video, and extract the luma<br>
> and chroma components from the video into raw files for editing. What<br>
> is the best way to do this?<br>
<br>
</div>Could you describe in some more detail what you want to do exactly?<br>
<br>
"Take a video" - from what source? Camera? What kind?<br>
<br>
When you say you want to "extract the luma and chroma components from<br>
the video into raw files", does that mean you just want to save the raw<br>
video frames to a file somehow, or do you want to access each frame in<br>
your application directly and then poke at the pixels (luma/chroma<br>
components) yourself? The appsink element might help with the latter.<br>
<br>
Cheers<br>
<span><font color="#888888"> -Tim<span class="HOEnZb"><font color="#888888"><br>
<br>
--<br>
Tim Müller, Centricular Ltd - <a href="http://www.centricular.com" target="_blank">http://www.centricular.com</a><br>
<br>
_______________________________________________<br>
gstreamer-devel mailing list<br>
<a href="mailto:gstreamer-devel@lists.freedesktop.org" target="_blank">gstreamer-devel@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" target="_blank">http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a><br>
</font></span></font></span></blockquote></div><br></div>
<br>_______________________________________________<br>
gstreamer-devel mailing list<br>
<a href="mailto:gstreamer-devel@lists.freedesktop.org">gstreamer-devel@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" target="_blank">http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a><br>
<br></blockquote></div><br></div>