On Fri, Sep 20, 2024 at 10:47:42PM -0700, patrick keshishian wrote:
> Hi folks,
>
> Attempting to do a screen capture (x11) including audio; say chrome is
> playing a video clip and I want to capture a portion of the screen
> along with the audio.
>
> Quick search shows following example:
>
> ffmpeg -f x11grab -probesize 32M -thread_queue_size 32 -i :0 \
> -f sndio -thread_queue_size 32 -i snd/0 \
> -codec:v libx264rgb -crf 0 -preset ultrafast \
> -codec:a pcm_s16le \
> raw.mkv
>
> Unfortunately, play back of raw.mkv file using ffplay, there is no
> audible audio.
You need to use the monitoring stream to capture audio produced by
applications. See here how to set it up:
https://www.openbsd.org/faq/faq13.html#recordmon
In the script I use to not hand-type all the ffmpeg syntax, I have this:
-f sndio -i snd/1.mon
(in your case likely snd/0.mon after setting it up)
>
> Also, this command captures the entire screen. I am only interested in
> capturing a portion of the screen, so my modified command is:
>
> ffmpeg -f x11grab -s:0 640x480 -framerate 25 -i :0.0+100+50 -f sndio
> -i snd/0 -crf 0 -preset ultrafast out.mp4
>
> With this, the capture is at offset 100+50 and a size of 640x480.
> Still no audio (unsurprisingly).
>
> Can someone give me a hint as to how to get audio to record as well?
>
> Cheers,
> --patrick
>
>
>
> ffmpeg details while playing raw.mkv
> Input #0, matroska,webm, from '/tmp/raw.mkv': 0KB sq= 0B f=0/0
> Metadata:
> ENCODER : Lavf58.76.100
> Duration: 00:00:49.33, start: 0.000000, bitrate: 10079 kb/s
> Stream #0:0: Video: h264 (High 4:4:4 Predictive), gbrp(tv, gbr/unknown/unknown
> , progressive), 1366x768, 29.25 fps, 29.25 tbr, 1k tbn, 58.50 tbc
> (default) Metadata:
> ENCODER : Lavc58.134.100 libx264rgb
> DURATION : 00:00:49.333000000
> Stream #0:1: Audio: pcm_s16le, 48000 Hz, 2 channels, s16, 1536 kb/s (default)
> Metadata:
> ENCODER : Lavc58.134.100 pcm_s16le
> DURATION : 00:00:48.981000000
> 29.27 A-V: -0.122 fd= 11 aq= 763KB vq= 5676KB sq= 0B f=0/0
>
No comments:
Post a Comment