years later the struggle continues... how to specify the recording device,
lo and behold:
ā ~ arecord -l
**** List of CAPTURE Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: CX20590 Analog [CX20590 Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: Device [USB PnP Sound Device], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0
ā ~ arecord -f S16_LE -r 44100 --device="hw:1,0" plik.wav
Recording WAVE 'plik.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Mono
^C
Aborted by signal Interrupt...
So the format for device string is hw:<card>,<device>
I guess you should stop and read a bit the gstreamer documentation to understand how it works. GStreamer is a framework for building a graph for data processing. You can find the manual here: http://gstreamer.freedesktop.org/data/doc/gstreamer/head/manual/html/index.html
Playbin is a special element (a bin) and it will assemble an internal pipeline for you. Playbin won't expose any linking pads as it is designed to create a full playback pipeline, that's why you can't link it to hlssink.
You can use other elements to create a pipeline to transcode your webm input to hlssink, for example you can use uridecodebin that is another bin that will automatically create a decoding pipeline for any media that you use (provided that you have the right plugins for it). Something like:
gst-launch-1.0 uridecodebin uri=<youruri> name=decbin ! queue ! videoconvert ! x264enc ! tsmux name=muxer ! hlssink decbin. ! queue ! audioconvert ! faac ! muxer.
I haven't tested it, but something like that should work to convert your input to mpegts using H264 and AAC, for example, and pass the data for hlssink.
To check what elements you have on your system use the gst-inspect-1.0 tool. It will list all elements if you don't give it an argument or give you details about a particular element if you give it one, like:
gst-inspect-1.0 hlsssink
EDIT: fixing the pipeline you proposed in comments
gst-launch-1.0 uridecodebin uri=file:///home/ubuntu/g-streamer-lively/skyrim.webm name=decbin ! queue ! videoconvert ! x264enc ! mpegtsmux name=muxer ! hlssink max-files=5 playlist-root=10.12.9.3 location=/var/www/html/hlssink decbin. ! queue ! audioconvert ! avenc_aac ! muxer.
Best Answer
If you're looking to capture the output of your soundcard, you'll have to use pulsesrc and set the device property to your soundcard's analog-stereo monitor source. Have a look here.
Here the relevant source would be
alsa_output.pci-0000_80_01.0.analog-stereo.monitor
and you'd change your pipeline's input to