Привет всем.
Поставил все нужные пакеты, настроил, но записи звука не происходит. Просто тишина. Подскажите что еще забыл настроить.
Дело в том, что у меня интеграшка ALC883 и с alsa запись звуков из системы невозможно. Есть только варианты: Pulseaudio или Jack.
[НЕРЕШАЕМО] Захват и запись звука в связке ALSA+Jack
Похоже что у меня нет поддержки realtime
Команда
setcap cap_ipc_lock,cap_sys_nice=ep /usr/bin/jackdвыдает лишь
bash: setcap: команда не найденаМожет быть в этом всё дело?
Создавал файл /etc/security/limits.conf
@audio - rtprio 99
@audio - nice -10
@audio - memlock unlimitedа что альса не воспроизводит звук, там в микшере надо нужную комбинацию устройств захвата подобрать не? ИМХО не проще ли ffmpeg'ом писать, если честно jack у меня последний раз работал ещё в 13.0, а после неё чего-то вменяемого от него добиться было невозможно уже.
вот как-то так это выглядит:
ffmpeg -vol 4000 -f alsa -async 1 -ac 2 -i hw:0,0 -sameq -acodec libmp3lame -ab 96k out1.mp3
пишет то что звучит в колонках(при условии что в микшере настроено правильно) только практически без усиления, звук слабенький, при желании можно множитель к кодеку приписать, но это уж на любителя...
тыц
ffmpeg -vol 4000 -f alsa -async 1 -ac 2 -i hw:0,0 -sameq -acodec libmp3lame -ab 96k out1.mp3А работает ли это с hda-intel ? поскольку StereoMix у меня отсутствует.
[quote="Dr House⇓"]А работает ли это с hda-intel ? поскольку StereoMix у меня отсутствует.
не стоит считать себя уникальным, hda-intel проще перчислить где его нет, чем где он есть, погляди лучше моё видео...[/quote]
Возможно у вас есть настроенный .asoundrc, так как я попытался сделать как на видео, capture установил на line, всё выкрутил на максимум, но звук не записался. Запускал amarok.
Возможно у вас есть настроенный .asoundrc
нет, всё штатно через кеды:
$ cat $HOME/.kde/share/apps/kmix/profiles/ALSA.HDA_Intel.1.default.xml
<?xml version="1.0" encoding="utf-8"?>
<soundcard driver="ALSA" version = "0:0"
name = "*"
type = "*"
generation = "2"
>
<profile id="ALSA.HD-Audio_Generic.1.default" name="HD-Audio Generic"/>
<product vendor="Any Vendor" name="Generic Soundcard" />
<control id="^Master:0$" subcontrols="*" show="simple" />
<control id="^Front:0$" subcontrols="*" show="simple" />
<control id="^Surround:0$" subcontrols="*" show="simple" />
<control id="^Center:0$" subcontrols="*" show="simple" />
<control id="^LFE:0$" subcontrols="*" show="simple" />
<control id="^PCM:0$" subcontrols="*" show="simple" />
<control id="^CD:0$" subcontrols="*" show="simple" />
<control id="^Headphone:0$" subcontrols="*" show="simple" />
<control id="^Mic.*:0$" subcontrols="*" show="simple" />
<control id="^DAC:0$" subcontrols="*" show="simple" />
<control id="^ADC:0$" subcontrols="*" show="simple" />
<control id="^.*$" subcontrols="*" show="extended" mandatory="true" />
</soundcard>
и это :
cat $HOME/.kde/share/config/kmixrc
[Global]
AllowDocking=true
AutoStart=true
AutoUseMultimediaKeys=true
ConfigVersion=3
DefaultCardOnStart=ALSA.HDA_NVidia.1.default
Labels=true
MasterMixer=ALSA::HDA_Intel:1
MasterMixerDevice=Master:0
Menubar=true
MixerIgnoreExpression=Modem
Orientation=Vertical
Orientation.TrayPopup=Vertical
Position=0,0
Size=960,432
Soundmenu.Mixers=
Tickmarks=true
TrayVolumeControl=true
Visible=false
VolumeFeedback=false
showOSD=true
startkdeRestore=false
[Profiles]
ALSA::HD-Audio_Generic:1=ALSA.HD-Audio_Generic.1.default
ALSA::HDA_Intel:1=ALSA.HDA_Intel.1.default
ALSA::HDA_NVidia:1=ALSA.HDA_NVidia.1.default
[View.ALSA.HD-Audio_Generic.1.default.ALSA::HD-Audio_Generic:1.IEC958:0]
Show=false
Split=false
[View.ALSA.HDA_Intel.1.default.ALSA::HDA_Intel:1.Analog_Mix:0]
Show=false
Split=false
[View.ALSA.HDA_Intel.1.default.ALSA::HDA_Intel:1.Auto-Mute_Mode:0.penum]
Show=false
[View.ALSA.HDA_Intel.1.default.ALSA::HDA_Intel:1.CD:0]
Show=true
Split=false
[View.ALSA.HDA_Intel.1.default.ALSA::HDA_Intel:1.Capture:0]
Show=false
Split=false
[View.ALSA.HDA_Intel.1.default.ALSA::HDA_Intel:1.Capture:1]
Show=false
Split=false
[View.ALSA.HDA_Intel.1.default.ALSA::HDA_Intel:1.Capture:2]
Show=false
Split=false
[View.ALSA.HDA_Intel.1.default.ALSA::HDA_Intel:1.Center:0]
Show=true
Split=false
[View.ALSA.HDA_Intel.1.default.ALSA::HDA_Intel:1.Digital:0]
Show=false
Split=false
[View.ALSA.HDA_Intel.1.default.ALSA::HDA_Intel:1.Front:0]
Show=true
Split=false
[View.ALSA.HDA_Intel.1.default.ALSA::HDA_Intel:1.Front_Mic:0]
Show=false
Split=false
[View.ALSA.HDA_Intel.1.default.ALSA::HDA_Intel:1.Front_Mic_Boost:0]
Show=false
Split=false
[View.ALSA.HDA_Intel.1.default.ALSA::HDA_Intel:1.HDMI:0]
Show=false
Split=false
[View.ALSA.HDA_Intel.1.default.ALSA::HDA_Intel:1.Headphone:0]
Show=true
Split=false
[View.ALSA.HDA_Intel.1.default.ALSA::HDA_Intel:1.IEC958:0]
Show=true
Split=false
[View.ALSA.HDA_Intel.1.default.ALSA::HDA_Intel:1.IEC958_Default_PCM:0]
Show=false
Split=false
[View.ALSA.HDA_Intel.1.default.ALSA::HDA_Intel:1.Independent_HP:0.penum]
Show=false
[View.ALSA.HDA_Intel.1.default.ALSA::HDA_Intel:1.Input_Source:0.cenum]
Show=false
[View.ALSA.HDA_Intel.1.default.ALSA::HDA_Intel:1.Input_Source:1.cenum]
Show=false
[View.ALSA.HDA_Intel.1.default.ALSA::HDA_Intel:1.Input_Source:2.cenum]
Show=false
[View.ALSA.HDA_Intel.1.default.ALSA::HDA_Intel:1.LFE:0]
Show=true
Split=false
[View.ALSA.HDA_Intel.1.default.ALSA::HDA_Intel:1.Line:0]
Show=false
Split=false
[View.ALSA.HDA_Intel.1.default.ALSA::HDA_Intel:1.Line_Boost:0]
Show=false
Split=false
[View.ALSA.HDA_Intel.1.default.ALSA::HDA_Intel:1.Master:0]
Show=true
Split=false
[View.ALSA.HDA_Intel.1.default.ALSA::HDA_Intel:1.PCM:0]
Show=true
Split=false
[View.ALSA.HDA_Intel.1.default.ALSA::HDA_Intel:1.Rear_Mic:0]
Show=false
Split=false
[View.ALSA.HDA_Intel.1.default.ALSA::HDA_Intel:1.Rear_Mic_Boost:0]
Show=false
Split=false
[View.ALSA.HDA_Intel.1.default.ALSA::HDA_Intel:1.Side:0]
Show=false
Split=false
[View.ALSA.HDA_Intel.1.default.ALSA::HDA_Intel:1.Surround:0]
Show=true
Split=false
[View.ALSA.HDA_NVidia.1.default.ALSA::HDA_NVidia:1.IEC958:0]
Show=true
Split=false
[View.ALSA.HDA_NVidia.1.default.ALSA::HDA_NVidia:1.IEC958:1]
Show=true
Split=false
[View.ALSA.HDA_NVidia.1.default.ALSA::HDA_NVidia:1.IEC958:2]
Show=true
Split=false
[View.ALSA.HDA_NVidia.1.default.ALSA::HDA_NVidia:1.IEC958:3]
Show=true
Split=false

нужно подобрать верную комбинацию, иногда она начинает работать после перезагрузки, некоторые бажные программы не отпускают устройство даже после завершения..
Благодарю за скриншот и конфиги. Можно еще еще ваш вывод aplay -L ?
Перезагружусь, должно помочь.
Можно еще еще ваш вывод aplay -L ?
null
Discard all samples (playback) or generate zero samples (capture)
default:CARD=Intel
HDA Intel, AD198x Analog
Default Audio Device
sysdefault:CARD=Intel
HDA Intel, AD198x Analog
Default Audio Device
front:CARD=Intel,DEV=0
HDA Intel, AD198x Analog
Front speakers
surround40:CARD=Intel,DEV=0
HDA Intel, AD198x Analog
4.0 Surround output to Front and Rear speakers
surround41:CARD=Intel,DEV=0
HDA Intel, AD198x Analog
4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=Intel,DEV=0
HDA Intel, AD198x Analog
5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=Intel,DEV=0
HDA Intel, AD198x Analog
5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=Intel,DEV=0
HDA Intel, AD198x Analog
7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
iec958:CARD=Intel,DEV=0
HDA Intel, AD198x Digital
IEC958 (S/PDIF) Digital Audio Output
hdmi:CARD=NVidia,DEV=0
HDA NVidia, HDMI 0
HDMI Audio Output
hdmi:CARD=NVidia,DEV=1
HDA NVidia, HDMI 0
HDMI Audio Output
hdmi:CARD=NVidia,DEV=2
HDA NVidia, HDMI 0
HDMI Audio Output
hdmi:CARD=NVidia,DEV=3
HDA NVidia, HDMI 0
HDMI Audio Output
У вас AD198x Analog но у меня Realtek ALC883 Analog - это немного другой аудиочип. Соответственно, у меня это не реализовано. Так что, остается программный вариант через Pulseaudio.
У вас AD198x Analog но у меня Realtek ALC883 Analog - это немного другой аудиочип. Соответственно, у меня это не реализовано. Так что, остается программный вариант через Pulseaudio.
да какая разница какой чип, захват идет с альсы, в kmix'е кнопочка есть "настроить каналы" добавляешь нужные и всё, если бы все так было то как бы тогда играли колонки? или они не работают вообще кроме как через пульс??? Вообще пульса в Слаке это дикое уродство и извращение - как пятая нога у лошади между глаз... разберись как работает alsa\oss+ffmpeg и всё будет хорошо, а через пульсу, думается мне, захват выходного потока не организовать, если только не прибить гвоздями systemd со всеми его костылями, но тут я не советчик...
да какая разница какой чип, захват идет с альсы, в kmix'е кнопочка есть "настроить каналы" добавляешь нужные Разница есть, я настроил все так же как и вы у себя, но как результат ничего не записалось. А всё это значит, что у вас есть эта возможность, а у меня нет.
разберись как работает alsa\oss+ffmpeg и всё будет хорошо, а через пульсу, думается мне, захват выходного потока не организовать1. Я всегда записывал через ffmpeg+pulseaudio в Gentoo и все было ОК. А в слаке с пульсами косяки небольшие + при записи через ffmpeg звук отстает от картинки. Вот я и хотел настроить jack или саму ALSA, но как мне сказали на #gentoo и #calculate-ru - Запись звука в чистой alsa с интеграшкой Realtek HDA ALC883 невозможна без использования специального loopback-кабеля.
Так что тут либо настраивать пульсы, либо искать этот кабель, который, кстати хз как выглядит.
Разница есть, я настроил все так же как и вы у себя, но как результат ничего не записалось.
ну что же, видимо действительно кривой девайс, вообще когда-то в давние времена, когда еще вин98 была свежайшим хитом, я сталкивался с realtek и как-то он мне сразу вызвал отрицательные чувства, так с тех времён сии поделия стараюсь обходить стороной, есть производители железа с более ровными руками.
Так что тут либо настраивать пульсы, либо искать этот кабель, который, кстати не знаю как выглядит.
кабель там простой, 3,5 мм с оплёткой, только это тот ещё костыль, реальный, вот тут есть упоминание о нём- это не что иное как самолепная приблуда, паяется руками по месту.
P.S. хотя.., может я и несправедлив к железке, возможно трабла не в ней а в ванильном ffmpeg. У меня он собран с максимальным набором зависимостей, на slackbuilds.org как раз расписано как надо его готовить. Помимо того что сам ffmpeg нужно собирать, ему нужно собрать кучу всяких приколюх вот так выглядит скриптик который его собирает:
ASS=yes \
CELT=yes \
DC1394=yes \
FAAC=yes \
FREI0R=yes \
GSM=yes \
JP2=yes \
LAME=yes \
OPENAL=yes \
OPENCORE=yes \
OPENSSL=yes \
RTMP=yes \
SCHROEDINGER=yes \
SPEEX=yes \
VPX=yes \
X264=yes \
XVID=yes \
./ffmpeg.SlackBuild
а вот что написано на самом slackbuilds.org
You can enable a lot of optional (not-autodetected) features by
passing variables to the script (VAR=yes/no ./ffmpeg.SlackBuild):
ASS=yes|no (default: no), requires libass
BLURAY=yes|no (default: no), requires libbluray
CELT=yes|no (default: no), requires celt
DC1394=yes|no (default: no), requires libdc1394
FAAC=yes|no (default: no), requires faac (creates non-redistributable binary)
FREI0R=yes|no (default: no), requires frei0r
GSM=yes|no (default: no), requires gsm
JP2=yes|no (default: no), requires openjpeg
LAME=yes|no (default: yes), requires lame
OPENAL=yes|no (default: no), requires OpenAL
OPENCORE=yes|no (default: no), requires opencore-amr
OPENSSL=yes|no (default: no), creates non-redistributable binary
RTMP=yes|no (default: no), requires rtmpdump
SCHROEDINGER=yes|no (default: no), requires schroedinger
SPEEX=yes|no (default: no), requires speex
VPX=yes|no (default: no), requires libvpx
X264=yes|no (default: yes), requires x264
XVID=yes|no (default: no), requires xvidcore
Make sure to run this script in a real root shell ("su -") and that you
have either tetex or texlive installed.
All of the mentioned requirements are available from SlackBuilds.org
возможно захват и заработает если всё это собрать, надо проверять, у меня то работает, да и народ вроде тоже пробовал с положительным результатом...
при записи через ffmpeg звук отстает от картинки.
не отстаёт если нужные ключи прицепить - пример видео
ffmpeg -vol 4000 -f alsa -async 1 -ac 2 -i hw:0,0 -f x11grab -s 1920x1080 -r 25 -i :0.0 -sameq -acodec libmp3lame -ab 96k out1.avi