> >> The threat model is pretty similar to Qubes' Trusted PDF feature.
> > Not quite. The PDF processing happens in a throwaway VM, whereas here
> > the video processing as done today happens in dom0.
> I was suggesting the compression could be done in an appVM... it should
> be trivial to do so.
> The result is supposed to be a sanitized, trusted document. I think this
> is about as realistic for video as it is for PDFs.
I was able to do the following, which I believe is more in line with Qubes'
philosophy and allows recording of screencasts using *any* software running in
an AppVM *and* realtime streaming (desktop sharing - but view only) on
Here's the outline of the solution:
- Install and load v4l2loopback on the AppVM you want to record/simulate cam
- Capture the screen on DOM0 using ffmpeg -f x11grab -f rawvideo
- Open a qubes-rpc channel to an AppVM
- Send the stream to /dev/video0 on the AppVM, enconding to the appropriate
Basically, the following script on DOM0:
qvm-run -p \
-f x11grab -r 15 -s 800x600 -i :0.0+0,0 \
-pix_fmt yuv420p -threads 0 -f rawvideo -" \
"sleep 3 ; /home/user/Downloads/ffmpeg-static/ffmpeg \
-f rawvideo -s:v 800x600 -pix_fmt yuv420p -re -i pipe: \
-f v4l2 /dev/video0"
The trickiest points (for me) were to compile and install v4l2loopback as a
kernel module on the template-vm (I had unmatching kernel version and headers
installed - had to manually download and install the headers to compile it) and
discover the combination of ffmpeg that would deliver the correct image.
Ideally, we could "extract" the x11grab code from ffmpeg and write a simpler
utility that only grabs the screen and redirects all the output to the RPC
channel, removing the need to bring ffmpeg into DOM0.
If that utility were built into a qubes repo I believe that would pretty much
eliminate any attack vectors (as DOM0 is only being used as an input source to
another AppVM which does the heavywork encoding and streaming the data).
You received this message because you are subscribed to the Google Groups
To unsubscribe from this group and stop receiving emails from it, send an email
To post to this group, send email to firstname.lastname@example.org.
To view this discussion on the web visit
For more options, visit https://groups.google.com/d/optout.