Добрый день.
Хочу записать серию вебинаров. Смотреть буду через firefox. Запись экрана выполняю такой командой:
ffmpeg -f alsa -ac 2 -i hw:0 -f x11grab -rtbufsize 100M -s 1920x1080 -framerate 30 -probesize 10M -draw_mouse 1 -i :0.0 -acodec aac -c:v libx264 -r 30 -preset ultrafast -tune zerolatency -crf 25 -pix_fmt yuv420p output.mp4
Видео записывается отлично, а вот вместо звука идут какие-то хлопки. В процессе записи возможно придется отлучится, поэтому хотелось бы звук либо приглушить, либо вообще выключить.
Раз поток идет через firefox, то по идеи отключение звука не должно повлиять на запись самого звука?
Вывод звука если все правильно понимаю идет через pipewire.
$ wpctl status
PipeWire 'pipewire-0' [0.3.65, muxas@mus-lx, cookie:1665517540]
└─ Clients:
31. pipewire [0.3.65, muxas@mus-lx, pid:1539]
32. WirePlumber [0.3.65, muxas@mus-lx, pid:1537]
33. WirePlumber [export] [0.3.65, muxas@mus-lx, pid:1537]
53. xdg-desktop-portal [0.3.65, muxas@mus-lx, pid:1700]
54. xfce4-pulseaudio-plugin [0.3.65, muxas@mus-lx, pid:1793]
55. pipewire [0.3.65, muxas@mus-lx, pid:1539]
56. Firefox [0.3.65, muxas@mus-lx, pid:1801]
57. speech-dispatcher-dummy [0.3.65, muxas@mus-lx, pid:10627]
60. wpctl [0.3.65, muxas@mus-lx, pid:11540]
Audio
├─ Devices:
│ 42. Raven/Raven2/Fenghuang HDMI/DP Audio Controller [alsa]
│ 43. Family 17h/19h HD Audio Controller [alsa]
│
├─ Sinks:
│ * 46. Family 17h/19h HD Audio Controller Аналоговый стерео [vol: 1.00 MUTED]
│
├─ Sink endpoints:
│
├─ Sources:
│ * 47. Family 17h/19h HD Audio Controller Аналоговый стерео [vol: 1.00]
│
├─ Source endpoints:
│
└─ Streams:
64. speech-dispatcher-dummy
59. output_FL > ALC236 Analog:playback_FL [init]
61. output_FR > ALC236 Analog:playback_FR [init]
Video
├─ Devices:
│ 40. Integrated Camera [v4l2]
│ 41. Integrated Camera [v4l2]
│
├─ Sinks:
│
├─ Sink endpoints:
│
├─ Sources:
│ * 44. Integrated Camera (V4L2)
│
├─ Source endpoints:
│
└─ Streams:
Settings
└─ Default Configured Node Names:
0. Audio/Sink alsa_output.pci-0000_03_00.6.analog-stereo
1. Audio/Source alsa_input.pci-0000_03_00.6.analog-stereo
Согласно выводу, клиент pipewire под номером 56 и есть firefox.
Каким образом заставить ffmpeg брать звук из firefox и игнорировать другие источники звука?
Если открыть несколько вкладок в FF где есть источники звука (например несколько роликов), то как выбрать нужный для записи?
И последний вопрос, как можно посчитать какой размер файла получиться? Хотя бы примерно, дело в том, что учеба будет 5 дней подряд, по 7 часов. Соответственно нужно место где хранить все эти записи.
Направьте в нужном направлении, куда копать.
Спасибо.