QUOTE(cate_chan @ Aug 29 2020, 14:58)

whenever something tries to bother pulse while it isnt running the pulseaudio.socket and systemd magic setup will cause it to automatically start again. which my volume indicator happens to do very frequenly. so I cant really not run it.
Yes you can; I have done so. You don't even need to remove systemd-as-init (although I did that too later on).
in /etc/pulse/client.conf (on my machine):
CODE
autospawn = no
daemon-binary = /bin/true
Just `autospawn` isn't enough though. You also need `daemon-binary` set.
QUOTE(cate_chan @ Aug 29 2020, 14:58)

im pretty sure I could trick ffplay into playing the devices audio with the correct codec though.
Probably.
ffplay -f alsa -acodec pcm_s16le -ar 48000 hw:{whatever} (or dsnoop:{whatever} maybe)
Looks like AC '97 audio is supposed to be MSB-first (little-endian). So if your chip uses AC '97 internally (many do and have a separate chip for the AC '97 codec), it's likely little-endian.
Alternately try pcm_s16be, for instance, for 16-bit big endian. Also experiment with -ar {number}, like -ar 48000 or -ar 44100.
You can get a large list of PCM-like formats ffmpeg can decode with with:
CODE
ffmpeg -codecs|grep -i '^ D.*pcm_'
if you can tell me exactly what chipset your capture device is using (or what kernel module(s)), I can try to find a datasheet for the chip and tell you what formats to try first.
Another thing you may want to do is try setting the 'card' parameter while loading the em28xx module, if your card is actually em28xx-based. My card is recognized as type 9.
---------
UPDATE:
Just plugged in my card and tried it; what I suggested worked for me, but I first had to do:
CODE
v4l2-ctl -d /dev/video2 -c mute=0
…Where /dev/video2 is of course the USB capture card. Looks like it's muted by default (according to `v4l2-ctl -d /dev/vide02 -L`). After doing that, I was able to run:
CODE
ffplay -f alsa -acodec pcm_s16le -ar 48000 hw:3,0
.
Using one of the automagically-created `dsnoop` devices also worked, e.g. 'dsnoop:CARD=Device,DEV=0', where that string was obtained from `arecord -L`.
Pictures don't indicate working audio, but I swear it works too.

My full command-line, since I also separate the 480i fields back into 240p "frames" and dump output to a file while also playing back a preview:
CODE
ffmpeg -f v4l2 -timestamps 2 -i /dev/video2 -f alsa -acodec pcm_s16le -ar 48000 -async 1 -i plughw:CARD=Device,DEV=0 -vf "setfield=tff,separatefields,scale=640x480:flags=neighbor,setdar=4/3" -vcodec libx264 -acodec libvorbis -ab 128k -f matroska filename.mkv -acodec pcm_s16le -vcodec rawvideo -f nut - -y | ffplay -
mplayer can be substituted for ffplay above, of course.
This was after I had changed the frame width in v4l2-ctl as well, to make it a 4:3 PAR.
CODE
#ntsc
v4l2-ctl -d /dev/video2 --set-standard ntsc
# input 1 for s-video, 0 for CVBS
v4l2-ctl -d /dev/video2 --set-input 0
v4l2-ctl -d /dev/video2 --set-fmt-video pixelformat=YUYV
# width is 720 by default, changed for 4:3 PAR
v4l2-ctl -d /dev/video2 --set-fmt-video width=640
# bump up "sharpness" a wee bit for CVBS. range 0-15.
v4l2-ctl -d /dev/video2 --set-ctrl sharpness=7
# unmute
v4l2-ctl -d /dev/video2 --set-ctrl mute=0
This post has been edited by dragontamer8740: Aug 30 2020, 09:39