mpromonet / v4l2rtspserver

RTSP Server for V4L2 device capture supporting HEVC/H264/JPEG/VP8/VP9
The Unlicense
1.86k stars 428 forks source link

two streams with the same source at the same time #277

Closed itsamedotde closed 6 months ago

itsamedotde commented 2 years ago

Hi there,

is there a way to setup two streams with the same source at the same time? I've a raspberry pi and raspberry cam and want to use one rtsp stream in hq and a second one with lower resolution to send it to youtube.

Thx!

mpromonet commented 2 years ago

Hi,

You might look to v4l2loopback it will allow to uncompress hq and recompress lq. Then you can stream both.

Best regards Michel

shamlord commented 2 years ago

Is there any way to do this with v4l2rtspserver and v4l2loopback so that both the high and low resolution streams are available on the same RTSP port number, but with different URLs?

For example: rtsp://192.168.2.17:8554/unicast rtsp://192.168.2.17:8554/unicast_low

This is the typical implementation of high and low resolution streams on IP cameras offering RTSP.

Reading through the v4l2loopback project, it only appears to create loopback devices rather than creating an RTSP stream itself.

mpromonet commented 2 years ago

Hi,

If your camera have 2 v4l2 devices (one for each resolution), you do not need v4l2loopback. The proposition to use v4l2loopback was to uncompress the high quality and recompress to low quality to this virtual device.

Best Regards, Michel.

shamlord commented 2 years ago

Per this thread: https://ipcamtalk.com/threads/adding-camera-that-the-substream-are-on-a-different-ports.59539/ "That is an interesting configuration. I take it you can't tell the camera to use the same RTSP port for both streams, and discern between them by using different paths like every other camera on the market?"

IP cameras that provide multiple RTSP streams typically provide those streams on the same port, but use different URLs. For example, all of these streams would be offered by 1 RTSP server on the camera, on the same port:

rtsp://x.x.x.x:554/unicast
rtsp://x.x.x.x:554/unicast2

Is there a way to do this with v4l2rtspserver? Two streams with audio, on the same port but at different URLs? Perhaps like this? v4l2rtspserver -u unicast /dev/video0,/dev/video0 -u unicast2 /dev/video1,/dev/video1

mpromonet commented 2 years ago

Hi,

When you add multiple device, the url become rtsp://.../video0/unicast rtsp://.../video1/unicast....

Best Regards, Michel.

itsamedotde commented 2 years ago

You might look to v4l2loopback it will allow to uncompress hq and recompress lq. Then you can stream both.

Thx @mpromonet I'll take a look on v4l2loopback.

Best Mario

gtxaspec commented 2 years ago

@mpromonet is there any performance benefit to running two streams on one process? compared to two individual instances?

gtxaspec commented 2 years ago

Hi @mpromonet

Running the command: v4l2rtspserver -C 1 -a S16_LE -U admin:xxx -P 8554 /dev/video1,hw:Loopback,0 /dev/video2,hw:Loopback,1

produces errors:

log level:500

[NOTICE] /root/CLEAN/v4l2rtspserver/main.cpp:297
    Version: 0.3.3-4-ga43e094 live555 version:2022.04.26
[NOTICE] /root/CLEAN/v4l2rtspserver/src/V4l2RTSPServer.cpp:37
    Create V4L2 Source.../dev/video1
[NOTICE] /root/CLEAN/v4l2rtspserver/v4l2wrapper/src/V4l2Device.cpp:133
    driver:v4l2 loopback capabilities:85008003 mandatory:4000001
[NOTICE] /root/CLEAN/v4l2rtspserver/v4l2wrapper/src/V4l2Device.cpp:135
    /dev/video1 support output
[NOTICE] /root/CLEAN/v4l2rtspserver/v4l2wrapper/src/V4l2Device.cpp:136
    /dev/video1 support capture
[NOTICE] /root/CLEAN/v4l2rtspserver/v4l2wrapper/src/V4l2Device.cpp:138
    /dev/video1 support read/write
[NOTICE] /root/CLEAN/v4l2rtspserver/v4l2wrapper/src/V4l2Device.cpp:139
    /dev/video1 support streaming
[NOTICE] /root/CLEAN/v4l2rtspserver/v4l2wrapper/src/V4l2Device.cpp:225
    /dev/video1:H264 size:1920x1080 bufferSize:8294400
[NOTICE] /root/CLEAN/v4l2rtspserver/v4l2wrapper/src/V4l2Device.cpp:246
    fps:1/25
[NOTICE] /root/CLEAN/v4l2rtspserver/v4l2wrapper/src/V4l2Device.cpp:247
    nbBuffer:2
[NOTICE] /root/CLEAN/v4l2rtspserver/v4l2wrapper/src/V4l2MmapDevice.cpp:49
    Device /dev/video1
[NOTICE] /root/CLEAN/v4l2rtspserver/v4l2wrapper/src/V4l2MmapDevice.cpp:73
    Device /dev/video1 nb buffer:2
[NOTICE] /root/CLEAN/v4l2rtspserver/v4l2wrapper/src/V4l2MmapDevice.cpp:49
    VIDIOC_REQBUFS: Inappropriate ioctl for device
Device video1
[NOTICE] /root/CLEAN/v4l2rtspserver/v4l2wrapper/src/V4l2MmapDevice.cpp:141
    VIDIOC_STREAMOFF: Inappropriate ioctl for device
VIDIOC_REQBUFS: Inappropriate ioctl for device
Device video1
[WARN] /root/CLEAN/v4l2rtspserver/src/V4l2RTSPServer.cpp:53
    Cannot open output:video1
[NOTICE] /root/CLEAN/v4l2rtspserver/src/V4l2RTSPServer.cpp:62
    Create Source .../dev/video1
[NOTICE] /root/CLEAN/v4l2rtspserver/src/V4L2DeviceSource.cpp:96
    begin thread
[NOTICE] /root/CLEAN/v4l2rtspserver/src/V4l2RTSPServer.cpp:184
    Create ALSA Source...hw:Loopback,0
[NOTICE] /root/CLEAN/v4l2rtspserver/src/ALSACapture.cpp:49
    Open ALSA device: "hw:Loopback,0"
[NOTICE] /root/CLEAN/v4l2rtspserver/src/ALSACapture.cpp:117
    set sample format device: hw:Loopback,0 to:2 ok
[NOTICE] /root/CLEAN/v4l2rtspserver/src/ALSACapture.cpp:104
    ALSA device: "hw:Loopback,0" buffer_size:1048576 period_size:1024 rate:16000
[NOTICE] /root/CLEAN/v4l2rtspserver/inc/BaseServerMediaSubsession.h:49
    format:video/H264
[NOTICE] /root/CLEAN/v4l2rtspserver/inc/BaseServerMediaSubsession.h:49
    format:audio/L16/16000/1
[NOTICE] /root/CLEAN/v4l2rtspserver/inc/V4l2RTSPServer.h:80
    Play this stream using the URL "rtsp://x.x.x.x:8554/video1_unicast"
[NOTICE] /root/CLEAN/v4l2rtspserver/src/V4l2RTSPServer.cpp:37
    Create V4L2 Source.../dev/video2
[NOTICE] /root/CLEAN/v4l2rtspserver/v4l2wrapper/src/V4l2Device.cpp:133
    driver:v4l2 loopback capabilities:85008003 mandatory:4000001
[NOTICE] /root/CLEAN/v4l2rtspserver/v4l2wrapper/src/V4l2Device.cpp:135
    /dev/video2 support output
[NOTICE] /root/CLEAN/v4l2rtspserver/v4l2wrapper/src/V4l2Device.cpp:136
    /dev/video2 support capture
[NOTICE] /root/CLEAN/v4l2rtspserver/v4l2wrapper/src/V4l2Device.cpp:138
    /dev/video2 support read/write
[NOTICE] /root/CLEAN/v4l2rtspserver/v4l2wrapper/src/V4l2Device.cpp:139
    /dev/video2 support streaming
[NOTICE] /root/CLEAN/v4l2rtspserver/v4l2wrapper/src/V4l2Device.cpp:225
    /dev/video2:H264 size:640x360 bufferSize:921600
[NOTICE] /root/CLEAN/v4l2rtspserver/v4l2wrapper/src/V4l2Device.cpp:246
    fps:1/25
[NOTICE] /root/CLEAN/v4l2rtspserver/v4l2wrapper/src/V4l2Device.cpp:247
    nbBuffer:2
[NOTICE] /root/CLEAN/v4l2rtspserver/v4l2wrapper/src/V4l2MmapDevice.cpp:49
    Device /dev/video2
[NOTICE] /root/CLEAN/v4l2rtspserver/v4l2wrapper/src/V4l2MmapDevice.cpp:73
    Device /dev/video2 nb buffer:2
[NOTICE] /root/CLEAN/v4l2rtspserver/v4l2wrapper/src/V4l2MmapDevice.cpp:49
    VIDIOC_REQBUFS: Inappropriate ioctl for device
Device video2
[NOTICE] /root/CLEAN/v4l2rtspserver/v4l2wrapper/src/V4l2MmapDevice.cpp:141
    VIDIOC_STREAMOFF: Inappropriate ioctl for device
VIDIOC_REQBUFS: Inappropriate ioctl for device
Device video2
[WARN] /root/CLEAN/v4l2rtspserver/src/V4l2RTSPServer.cpp:53
    Cannot open output:video2
[NOTICE] /root/CLEAN/v4l2rtspserver/src/V4l2RTSPServer.cpp:62
    Create Source .../dev/video2
[NOTICE] /root/CLEAN/v4l2rtspserver/src/V4L2DeviceSource.cpp:96
    begin thread
[NOTICE] /root/CLEAN/v4l2rtspserver/src/V4L2DeviceSource.cpp:96
    begin thread
[NOTICE] /root/CLEAN/v4l2rtspserver/src/V4l2RTSPServer.cpp:184
    Create ALSA Source...hw:Loopback,1
[NOTICE] /root/CLEAN/v4l2rtspserver/src/ALSACapture.cpp:49
    Open ALSA device: "hw:Loopback,1"
[NOTICE] /root/CLEAN/v4l2rtspserver/src/ALSACapture.cpp:117
    set sample format device: hw:Loopback,1 to:2 ok
[NOTICE] /root/CLEAN/v4l2rtspserver/src/ALSACapture.cpp:104
    ALSA device: "hw:Loopback,1" buffer_size:1048576 period_size:1024 rate:8000
[NOTICE] /root/CLEAN/v4l2rtspserver/inc/BaseServerMediaSubsession.h:49
    format:video/H264
[NOTICE] /root/CLEAN/v4l2rtspserver/inc/BaseServerMediaSubsession.h:49
    format:audio/L16/8000/1
[NOTICE] /root/CLEAN/v4l2rtspserver/inc/V4l2RTSPServer.h:80
    Play this stream using the URL "rtsp://xxx:8554/video2_unicast"
[NOTICE] /root/CLEAN/v4l2rtspserver/src/V4L2DeviceSource.cpp:96 

notably, the errors:

    VIDIOC_REQBUFS: Inappropriate ioctl for device
    VIDIOC_STREAMOFF: Inappropriate ioctl for device

I dont see these errors when i do a single interface, or running two seperate v4l2rtspserver instances with different network ports. These are v4l2loopback devices (video1 and video2)... the errors also happen with or without audio.

gtxaspec commented 2 years ago

heres an strace for reference

strace  /bin/v4l2rtspserver -C 1 -a S16_LE -U admin:xxx -P 8554 /dev/video1,hw:Loopback,0 /dev/video2,hw:Loopback,1
execve("/bin/v4l2rtspserver", ["/bin/v4l2rtspserver", "-C", "1", "-a", "S16_LE", "-U", "admin:xxx", "-P", "8554", "/dev/video1,hw:Loopback,0", "/dev/video2,hw:Loopback,1"], 0x7f819a78 /* 12 vars */) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|1<<MAP_HUGE_SHIFT, -1, 0) = 0x7735f000
stat("/etc/ld.so.cache", 0x7f8e32d8)    = -1 ENOENT (No such file or directory)
open("/lib/libasound.so.2", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0777, st_size=3051008, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|1<<MAP_HUGE_SHIFT, -1, 0) = 0x7735e000
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\10\0\1\0\0\0\3006\1\0004\0\0\0"..., 4096) = 4096
mmap(NULL, 794624, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x77287000
mmap(0x77287000, 713524, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0x77287000
mmap(0x77345000, 14284, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0xae000) = 0x77345000
close(3)                                = 0
munmap(0x7735e000, 4096)                = 0
open("/lib/libm.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/thirdlib/libm.so.0", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("/system/lib/libm.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/lib/libm.so.0", O_RDONLY)        = 3
fstat(3, {st_mode=S_IFREG|0755, st_size=48896, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|1<<MAP_HUGE_SHIFT, -1, 0) = 0x7735e000
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\10\0\1\0\0\0\260\22\0\0004\0\0\0"..., 4096) = 4096
mmap(NULL, 110592, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7726c000
mmap(0x7726c000, 43416, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0x7726c000
mmap(0x77286000, 2816, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0xa000) = 0x77286000
close(3)                                = 0
munmap(0x7735e000, 4096)                = 0
open("/lib/libpthread.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/thirdlib/libpthread.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/system/lib/libpthread.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/lib/libpthread.so.0", O_RDONLY)  = 3
fstat(3, {st_mode=S_IFREG|0755, st_size=84560, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|1<<MAP_HUGE_SHIFT, -1, 0) = 0x7735e000
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\10\0\1\0\0\0\200?\0\0004\0\0\0"..., 4096) = 4096
mmap(NULL, 151552, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x77247000
mmap(0x77247000, 74664, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0x77247000
mmap(0x77269000, 2012, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x12000) = 0x77269000
mmap(0x7726a000, 6384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7726a000
close(3)                                = 0
munmap(0x7735e000, 4096)                = 0
open("/lib/libc.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/thirdlib/libc.so.0", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("/system/lib/libc.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/lib/libc.so.0", O_RDONLY)        = 3
fstat(3, {st_mode=S_IFREG|0755, st_size=747936, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|1<<MAP_HUGE_SHIFT, -1, 0) = 0x7735e000
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\10\0\1\0\0\0 \264\0\0004\0\0\0"..., 4096) = 4096
mmap(NULL, 786432, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x77187000
mmap(0x77187000, 691264, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0x77187000
mmap(0x77240000, 4496, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0xa9000) = 0x77240000
mmap(0x77242000, 19628, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x77242000
close(3)                                = 0
munmap(0x7735e000, 4096)                = 0
stat("/lib/ld-uClibc.so.0", {st_mode=S_IFREG|0755, st_size=31692, ...}) = 0
open("/lib/libm.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/thirdlib/libm.so.0", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("/system/lib/libm.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/lib/libm.so.0", O_RDONLY)        = 3
fstat(3, {st_mode=S_IFREG|0755, st_size=48896, ...}) = 0
close(3)                                = 0
open("/lib/libdl.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/thirdlib/libdl.so.0", O_RDONLY)  = -1 ENOENT (No such file or directory)
open("/system/lib/libdl.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/lib/libdl.so.0", O_RDONLY)       = 3
fstat(3, {st_mode=S_IFREG|0755, st_size=10928, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|1<<MAP_HUGE_SHIFT, -1, 0) = 0x7735e000
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\10\0\1\0\0\0P\n\0\0004\0\0\0"..., 4096) = 4096
mmap(NULL, 77824, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x77174000
mmap(0x77174000, 9312, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0x77174000
mmap(0x77186000, 1400, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x2000) = 0x77186000
close(3)                                = 0
munmap(0x7735e000, 4096)                = 0
open("/lib/libpthread.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/thirdlib/libpthread.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/system/lib/libpthread.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/lib/libpthread.so.0", O_RDONLY)  = 3
fstat(3, {st_mode=S_IFREG|0755, st_size=84560, ...}) = 0
close(3)                                = 0
open("/lib/librt.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/thirdlib/librt.so.0", O_RDONLY)  = -1 ENOENT (No such file or directory)
open("/system/lib/librt.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/lib/librt.so.0", O_RDONLY)       = 3
fstat(3, {st_mode=S_IFREG|0755, st_size=12816, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|1<<MAP_HUGE_SHIFT, -1, 0) = 0x7735e000
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\10\0\1\0\0\0\340\f\0\0004\0\0\0"..., 4096) = 4096
mmap(NULL, 77824, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x77161000
mmap(0x77161000, 10356, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0x77161000
mmap(0x77173000, 2408, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x2000) = 0x77173000
close(3)                                = 0
munmap(0x7735e000, 4096)                = 0
open("/lib/libc.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/thirdlib/libc.so.0", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("/system/lib/libc.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/lib/libc.so.0", O_RDONLY)        = 3
fstat(3, {st_mode=S_IFREG|0755, st_size=747936, ...}) = 0
close(3)                                = 0
open("/lib/libc.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/thirdlib/libc.so.0", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("/system/lib/libc.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/lib/libc.so.0", O_RDONLY)        = 3
fstat(3, {st_mode=S_IFREG|0755, st_size=747936, ...}) = 0
close(3)                                = 0
open("/lib/libdl.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/thirdlib/libdl.so.0", O_RDONLY)  = -1 ENOENT (No such file or directory)
open("/system/lib/libdl.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/lib/libdl.so.0", O_RDONLY)       = 3
fstat(3, {st_mode=S_IFREG|0755, st_size=10928, ...}) = 0
close(3)                                = 0
open("/lib/libc.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/thirdlib/libc.so.0", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("/system/lib/libc.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/lib/libc.so.0", O_RDONLY)        = 3
fstat(3, {st_mode=S_IFREG|0755, st_size=747936, ...}) = 0
close(3)                                = 0
open("/lib/libc.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/thirdlib/libc.so.0", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("/system/lib/libc.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/lib/libc.so.0", O_RDONLY)        = 3
fstat(3, {st_mode=S_IFREG|0755, st_size=747936, ...}) = 0
close(3)                                = 0
open("/lib/libc.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/thirdlib/libc.so.0", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("/system/lib/libc.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/lib/libc.so.0", O_RDONLY)        = 3
fstat(3, {st_mode=S_IFREG|0755, st_size=747936, ...}) = 0
close(3)                                = 0
open("/lib/libdl.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/thirdlib/libdl.so.0", O_RDONLY)  = -1 ENOENT (No such file or directory)
open("/system/lib/libdl.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/lib/libdl.so.0", O_RDONLY)       = 3
fstat(3, {st_mode=S_IFREG|0755, st_size=10928, ...}) = 0
close(3)                                = 0
open("/lib/libpthread.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/thirdlib/libpthread.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/system/lib/libpthread.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/lib/libpthread.so.0", O_RDONLY)  = 3
fstat(3, {st_mode=S_IFREG|0755, st_size=84560, ...}) = 0
close(3)                                = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|1<<MAP_HUGE_SHIFT, -1, 0) = 0x7735e000
set_thread_area(0x77365460)             = 0
open("/dev/urandom", O_RDONLY)          = 3
read(3, "\276`\273$", 4)                = 4
close(3)                                = 0
set_tid_address(0x7735e068)             = 4711
set_robust_list(0x7735e070, 12)         = 0
rt_sigaction(SIGRTMIN, {sa_handler=0x77250d94, sa_mask=[], sa_flags=SA_SIGINFO}, NULL, 16) = 0
rt_sigaction(SIGRT_1, {sa_handler=0x77250c70, sa_mask=[], sa_flags=SA_RESTART|SA_SIGINFO}, NULL, 16) = 0
rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 16) = 0
getrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=2147483647}) = 0
ioctl(0, TCGETS, {B115200 opost isig icanon echo ...}) = 0
ioctl(1, TCGETS, {B115200 opost isig icanon echo ...}) = 0
brk(NULL)                               = 0xd59000
brk(0xd5a000)                           = 0xd5a000
futex(0x5c6a64, FUTEX_WAKE_PRIVATE, 2147483647) = 0
futex(0x5c6a6c, FUTEX_WAKE_PRIVATE, 2147483647) = 0
write(1, "log level:500\n", 14log level:500
)         = 14
write(1, "\n[", 2
[)                      = 2
write(1, "NOTICE] /root/CLEAN/v4l2rtspserv"..., 49NOTICE] /root/CLEAN/v4l2rtspserver/main.cpp:297
    ) = 49
gettimeofday({tv_sec=1655020780, tv_usec=184852}, NULL) = 0
gettimeofday({tv_sec=1655020780, tv_usec=185070}, NULL) = 0
socket(AF_INET, SOCK_STREAM|SOCK_CLOEXEC, IPPROTO_IP) = 3
setsockopt(3, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0
bind(3, {sa_family=AF_INET, sin_port=htons(8554), sin_addr=inet_addr("0.0.0.0")}, 16) = 0
fcntl64(3, F_GETFL)                     = 0x2 (flags O_RDWR)
fcntl64(3, F_SETFL, O_RDWR|O_NONBLOCK)  = 0
setsockopt(3, SOL_SOCKET, SO_KEEPALIVE, [1], 4) = 0
setsockopt(3, SOL_TCP, TCP_KEEPIDLE, [180], 4) = 0
setsockopt(3, SOL_TCP, TCP_KEEPCNT, [5], 4) = 0
setsockopt(3, SOL_TCP, TCP_KEEPINTVL, [20], 4) = 0
getsockopt(3, SOL_SOCKET, SO_SNDBUF, [16384], [4]) = 0
setsockopt(3, SOL_SOCKET, SO_SNDBUF, [51200], 4) = 0
listen(3, 20)                           = 0
socket(AF_INET6, SOCK_STREAM|SOCK_CLOEXEC, IPPROTO_IP) = 4
setsockopt(4, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0
setsockopt(4, SOL_IPV6, IPV6_V6ONLY, [1], 4) = 0
bind(4, {sa_family=AF_INET6, sin6_port=htons(8554), sin6_flowinfo=htonl(0), inet_pton(AF_INET6, "::", &sin6_addr), sin6_scope_id=0}, 28) = 0
fcntl64(4, F_GETFL)                     = 0x2 (flags O_RDWR)
fcntl64(4, F_SETFL, O_RDWR|O_NONBLOCK)  = 0
setsockopt(4, SOL_SOCKET, SO_KEEPALIVE, [1], 4) = 0
setsockopt(4, SOL_TCP, TCP_KEEPIDLE, [180], 4) = 0
setsockopt(4, SOL_TCP, TCP_KEEPCNT, [5], 4) = 0
setsockopt(4, SOL_TCP, TCP_KEEPINTVL, [20], 4) = 0
getsockopt(4, SOL_SOCKET, SO_SNDBUF, [16384], [4]) = 0
setsockopt(4, SOL_SOCKET, SO_SNDBUF, [51200], 4) = 0
listen(4, 20)                           = 0
rt_sigaction(SIGPIPE, {sa_handler=SIG_IGN, sa_mask=[PIPE], sa_flags=SA_RESTART}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 16) = 0
rt_sigaction(SIGPIPE, {sa_handler=SIG_IGN, sa_mask=[PIPE], sa_flags=SA_RESTART}, {sa_handler=SIG_IGN, sa_mask=[PIPE], sa_flags=SA_RESTART}, 16) = 0
socket(AF_NETLINK, SOCK_RAW, NETLINK_ROUTE) = 5
bind(5, {sa_family=AF_NETLINK, nl_pid=0, nl_groups=00000000}, 12) = 0
getsockname(5, {sa_family=AF_NETLINK, nl_pid=4711, nl_groups=00000000}, [12]) = 0
time(NULL)                              = 1655020780 (2022-06-12T00:59:40-0700)
sendto(5, [{nlmsg_len=20, nlmsg_type=0x12 /* NLMSG_??? */, nlmsg_flags=NLM_F_REQUEST|0x300, nlmsg_seq=1655020780, nlmsg_pid=0}, "\x00\x14\x27\x77"], 20, 0, {sa_family=AF_NETLINK, nl_pid=0, nl_groups=00000000}, 12) = 20
recvmsg(5, {msg_name={sa_family=AF_NETLINK, nl_pid=0, nl_groups=00000000}, msg_namelen=12, msg_iov=[{iov_base=[[{nlmsg_len=1064, nlmsg_type=0x10 /* NLMSG_??? */, nlmsg_flags=NLM_F_MULTI, nlmsg_seq=1655020780, nlmsg_pid=4711}, "\x00\x00\x04\x03\x01\x00\x00\x00\x49\x00\x01\x00\x00\x00\x00\x00\x07\x00\x03\x00\x6c\x6f\x00\x00\x08\x00\x0d\x00\x00\x00\x00\x00"...], [{nlmsg_len=1064, nlmsg_type=0x10 /* NLMSG_??? */, nlmsg_flags=NLM_F_MULTI, nlmsg_seq=1655020780, nlmsg_pid=4711}, "\x00\x00\x01\x00\x02\x00\x00\x00\x43\x10\x01\x00\x00\x00\x00\x00\x0a\x00\x03\x00\x77\x6c\x61\x6e\x30\x00\x00\x00\x08\x00\x0d\x00"...]], iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 2128
brk(0xd5b000)                           = 0xd5b000
recvmsg(5, {msg_name={sa_family=AF_NETLINK, nl_pid=0, nl_groups=00000000}, msg_namelen=12, msg_iov=[{iov_base=[{nlmsg_len=20, nlmsg_type=NLMSG_DONE, nlmsg_flags=NLM_F_MULTI, nlmsg_seq=1655020780, nlmsg_pid=4711}, 0], iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 20
sendto(5, [{nlmsg_len=20, nlmsg_type=0x16 /* NLMSG_??? */, nlmsg_flags=NLM_F_REQUEST|0x300, nlmsg_seq=1655020781, nlmsg_pid=0}, "\x00\x14\x27\x77"], 20, 0, {sa_family=AF_NETLINK, nl_pid=0, nl_groups=00000000}, 12) = 20
recvmsg(5, {msg_name={sa_family=AF_NETLINK, nl_pid=0, nl_groups=00000000}, msg_namelen=12, msg_iov=[{iov_base=[[{nlmsg_len=68, nlmsg_type=0x14 /* NLMSG_??? */, nlmsg_flags=NLM_F_MULTI, nlmsg_seq=1655020781, nlmsg_pid=4711}, "\x02\x08\x80\xfe\x01\x00\x00\x00\x08\x00\x01\x00\x7f\x00\x00\x01\x08\x00\x02\x00\x7f\x00\x00\x01\x07\x00\x03\x00\x6c\x6f\x00\x00"...], [{nlmsg_len=80, nlmsg_type=0x14 /* NLMSG_??? */, nlmsg_flags=NLM_F_MULTI, nlmsg_seq=1655020781, nlmsg_pid=4711}, "\x02\x18\x80\x00\x02\x00\x00\x00\x08\x00\x01\x00\x0a\x0a\x00\x46\x08\x00\x02\x00\x0a\x0a\x00\x46\x08\x00\x04\x00\x0a\x0a\x00\xff"...]], iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 148
recvmsg(5, {msg_name={sa_family=AF_NETLINK, nl_pid=0, nl_groups=00000000}, msg_namelen=12, msg_iov=[{iov_base=[{nlmsg_len=20, nlmsg_type=NLMSG_DONE, nlmsg_flags=NLM_F_MULTI, nlmsg_seq=1655020781, nlmsg_pid=4711}, 0], iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 20
close(5)                                = 0
gettimeofday({tv_sec=1655020780, tv_usec=358216}, NULL) = 0
write(1, "Version: 0.3.3-4-ga43e094 live55"..., 54Version: 0.3.3-4-ga43e094 live555 version:2022.04.26
[) = 54
write(1, "NOTICE] /root/CLEAN/v4l2rtspserv"..., 62NOTICE] /root/CLEAN/v4l2rtspserver/src/V4l2RTSPServer.cpp:37
    ) = 62
stat64("/dev/video1", {st_mode=S_IFCHR|0660, st_rdev=makedev(0x51, 0), ...}) = 0
open("/dev/video1", O_RDWR|O_NONBLOCK|O_LARGEFILE) = 5
ioctl(5, VIDIOC_QUERYCAP, {driver="v4l2 loopback", card="Dummy video device (0x0000)", bus_info="platform:v4l2loopback-000", version=KERNEL_VERSION(3, 10, 14), capabilities=V4L2_CAP_VIDEO_CAPTURE|V4L2_CAP_VIDEO_OUTPUT|V4L2_CAP_VIDEO_M2M|V4L2_CAP_READWRITE|V4L2_CAP_STREAMING|V4L2_CAP_DEVICE_CAPS, device_caps=V4L2_CAP_VIDEO_CAPTURE|V4L2_CAP_VIDEO_OUTPUT|V4L2_CAP_VIDEO_M2M|V4L2_CAP_READWRITE|V4L2_CAP_STREAMING}) = 0
write(1, "Create V4L2 Source.../dev/video1"..., 34Create V4L2 Source.../dev/video1
[) = 34
write(1, "NOTICE] /root/CLEAN/v4l2rtspserv"..., 71NOTICE] /root/CLEAN/v4l2rtspserver/v4l2wrapper/src/V4l2Device.cpp:133
    ) = 71
write(1, "driver:v4l2 loopback capabilitie"..., 62driver:v4l2 loopback capabilities:85008003 mandatory:4000001
[) = 62
write(1, "NOTICE] /root/CLEAN/v4l2rtspserv"..., 71NOTICE] /root/CLEAN/v4l2rtspserver/v4l2wrapper/src/V4l2Device.cpp:135
    ) = 71
write(1, "/dev/video1 support output\n[", 28/dev/video1 support output
[) = 28
write(1, "NOTICE] /root/CLEAN/v4l2rtspserv"..., 71NOTICE] /root/CLEAN/v4l2rtspserver/v4l2wrapper/src/V4l2Device.cpp:136
    ) = 71
write(1, "/dev/video1 support capture\n[", 29/dev/video1 support capture
[) = 29
write(1, "NOTICE] /root/CLEAN/v4l2rtspserv"..., 71NOTICE] /root/CLEAN/v4l2rtspserver/v4l2wrapper/src/V4l2Device.cpp:138
    ) = 71
write(1, "/dev/video1 support read/write\n[", 32/dev/video1 support read/write
[) = 32
write(1, "NOTICE] /root/CLEAN/v4l2rtspserv"..., 71NOTICE] /root/CLEAN/v4l2rtspserver/v4l2wrapper/src/V4l2Device.cpp:139
    ) = 71
ioctl(5, VIDIOC_G_FMT, {type=V4L2_BUF_TYPE_VIDEO_CAPTURE, fmt.pix={width=1920, height=1080, pixelformat=v4l2_fourcc('H', '2', '6', '4') /* V4L2_PIX_FMT_H264 */, field=V4L2_FIELD_NONE, bytesperline=0, sizeimage=8294400, colorspace=V4L2_COLORSPACE_SRGB}}) = 0
ioctl(5, VIDIOC_G_FMT, {type=V4L2_BUF_TYPE_VIDEO_CAPTURE, fmt.pix={width=1920, height=1080, pixelformat=v4l2_fourcc('H', '2', '6', '4') /* V4L2_PIX_FMT_H264 */, field=V4L2_FIELD_NONE, bytesperline=0, sizeimage=8294400, colorspace=V4L2_COLORSPACE_SRGB}}) = 0
ioctl(5, VIDIOC_S_FMT, {type=V4L2_BUF_TYPE_VIDEO_CAPTURE, fmt.pix={width=1920, height=1080, pixelformat=v4l2_fourcc('H', '2', '6', '4') /* V4L2_PIX_FMT_H264 */, field=V4L2_FIELD_NONE, bytesperline=0, sizeimage=8294400, colorspace=V4L2_COLORSPACE_SRGB}} => {fmt.pix={width=1920, height=1080, pixelformat=v4l2_fourcc('H', '2', '6', '4') /* V4L2_PIX_FMT_H264 */, field=V4L2_FIELD_NONE, bytesperline=0, sizeimage=8294400, colorspace=V4L2_COLORSPACE_SRGB}}) = 0
write(1, "/dev/video1 support streaming\n[", 31/dev/video1 support streaming
[) = 31
write(1, "NOTICE] /root/CLEAN/v4l2rtspserv"..., 71NOTICE] /root/CLEAN/v4l2rtspserver/v4l2wrapper/src/V4l2Device.cpp:225
    ) = 71
ioctl(5, VIDIOC_G_FMT, {type=V4L2_BUF_TYPE_VIDEO_CAPTURE, fmt.pix={width=1920, height=1080, pixelformat=v4l2_fourcc('H', '2', '6', '4') /* V4L2_PIX_FMT_H264 */, field=V4L2_FIELD_NONE, bytesperline=0, sizeimage=8294400, colorspace=V4L2_COLORSPACE_SRGB}}) = 0
ioctl(5, VIDIOC_S_PARM, {type=V4L2_BUF_TYPE_VIDEO_CAPTURE, parm.capture={capability=0, capturemode=0, timeperframe=1/25, extendedmode=0, readbuffers=0}} => {parm.capture={capability=0, capturemode=0, timeperframe=1/25, extendedmode=0, readbuffers=2}}) = 0
write(1, "/dev/video1:H264 size:1920x1080 "..., 52/dev/video1:H264 size:1920x1080 bufferSize:8294400
[) = 52
write(1, "NOTICE] /root/CLEAN/v4l2rtspserv"..., 71NOTICE] /root/CLEAN/v4l2rtspserver/v4l2wrapper/src/V4l2Device.cpp:246
    ) = 71
write(1, "fps:1/25\n[", 10fps:1/25
[)             = 10
write(1, "NOTICE] /root/CLEAN/v4l2rtspserv"..., 71NOTICE] /root/CLEAN/v4l2rtspserver/v4l2wrapper/src/V4l2Device.cpp:247
    ) = 71
write(1, "nbBuffer:2\n[", 12nbBuffer:2
[)           = 12
write(1, "NOTICE] /root/CLEAN/v4l2rtspserv"..., 74NOTICE] /root/CLEAN/v4l2rtspserver/v4l2wrapper/src/V4l2MmapDevice.cpp:49
    ) = 74
ioctl(5, VIDIOC_REQBUFS, {type=V4L2_BUF_TYPE_VIDEO_CAPTURE, memory=V4L2_MEMORY_MMAP, count=10 => 2}) = 0
write(1, "Device /dev/video1\n[", 20Device /dev/video1
[)   = 20
write(1, "NOTICE] /root/CLEAN/v4l2rtspserv"..., 74NOTICE] /root/CLEAN/v4l2rtspserver/v4l2wrapper/src/V4l2MmapDevice.cpp:73
    ) = 74
ioctl(5, VIDIOC_QUERYBUF_TIME32, 0x7f8e3264) = 0
mmap2(NULL, 8294400, PROT_READ|PROT_WRITE, MAP_SHARED, 5, 0) = 0x76978000
ioctl(5, VIDIOC_QUERYBUF_TIME32, 0x7f8e3264) = 0
mmap2(NULL, 8294400, PROT_READ|PROT_WRITE, MAP_SHARED, 5, 0x7e9000) = 0x7618f000
ioctl(5, VIDIOC_QBUF_TIME32, 0x7f8e3220) = 0
ioctl(5, VIDIOC_QBUF_TIME32, 0x7f8e3220) = 0
ioctl(5, VIDIOC_STREAMON, [V4L2_BUF_TYPE_VIDEO_CAPTURE]) = 0
stat64("video1", {st_mode=S_IFREG|0777, st_size=0, ...}) = 0
open("video1", O_WRONLY|O_CREAT|O_TRUNC|O_LARGEFILE, 0700) = 6
write(1, "Device /dev/video1 nb buffer:2\n[", 32Device /dev/video1 nb buffer:2
[) = 32
write(1, "NOTICE] /root/CLEAN/v4l2rtspserv"..., 74NOTICE] /root/CLEAN/v4l2rtspserver/v4l2wrapper/src/V4l2MmapDevice.cpp:49
    ) = 74
ioctl(6, VIDIOC_REQBUFS, {type=V4L2_BUF_TYPE_VIDEO_OUTPUT, memory=V4L2_MEMORY_MMAP, count=10}) = -1 ENOTTY (Inappropriate ioctl for device)
write(2, "VIDIOC_REQBUFS", 14VIDIOC_REQBUFS)          = 14
write(2, ": ", 2: )                       = 2
write(2, "Inappropriate ioctl for device", 30Inappropriate ioctl for device) = 30
write(2, "\n", 1
)                       = 1
write(1, "Device video1\n[", 15Device video1
[)        = 15
write(1, "NOTICE] /root/CLEAN/v4l2rtspserv"..., 75NOTICE] /root/CLEAN/v4l2rtspserver/v4l2wrapper/src/V4l2MmapDevice.cpp:141
    ) = 75
ioctl(6, VIDIOC_STREAMOFF, [V4L2_BUF_TYPE_VIDEO_OUTPUT]) = -1 ENOTTY (Inappropriate ioctl for device)
write(2, "VIDIOC_STREAMOFF", 16VIDIOC_STREAMOFF)        = 16
write(2, ": ", 2: )                       = 2
write(2, "Inappropriate ioctl for device", 30Inappropriate ioctl for device) = 30
write(2, "\n", 1
)                       = 1
ioctl(6, VIDIOC_REQBUFS, {type=V4L2_BUF_TYPE_VIDEO_OUTPUT, memory=V4L2_MEMORY_MMAP, count=0}) = -1 ENOTTY (Inappropriate ioctl for device)
write(2, "VIDIOC_REQBUFS", 14VIDIOC_REQBUFS)          = 14
write(2, ": ", 2: )                       = 2
write(2, "Inappropriate ioctl for device", 30Inappropriate ioctl for device) = 30
write(2, "\n", 1
)                       = 1
close(6)                                = 0
write(1, "Device video1\n[", 15Device video1
[)        = 15
write(1, "WARN] /root/CLEAN/v4l2rtspserver"..., 60WARN] /root/CLEAN/v4l2rtspserver/src/V4l2RTSPServer.cpp:53
    ) = 60
write(1, "Cannot open output:video1\n[", 27Cannot open output:video1
[) = 27
write(1, "NOTICE] /root/CLEAN/v4l2rtspserv"..., 62NOTICE] /root/CLEAN/v4l2rtspserver/src/V4l2RTSPServer.cpp:62
    ) = 62
mmap(NULL, 8388608, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7598f000
mprotect(0x7598f000, 4096, PROT_NONE)   = 0
clone(child_stack=0x7618e090, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, parent_tid=[4743], tls=0x76195960, child_tidptr=0x7618e568) = 4743
Create Source .../dev/video1
[NOTICE] /root/CLEAN/v4l2rtspserver/src/V4L2DeviceSource.cpp:96
    open("/sys/class/video4linux", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = 6
fstat64(6, {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0
fcntl(6, F_SETFD, FD_CLOEXEC)           = 0
brk(0xd5c000)                           = 0xd5c000
getdents64(6, 0x7f8e1ec0 /* 4 entries */, 4096) = 112
open("/sys/class/video4linux/video1/device/uevent", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
open("/sys/class/video4linux/video2/device/uevent", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
getdents64(6, 0x7f8e1ec0 /* 0 entries */, 4096) = 0
close(6)                                = 0
open("/dev/snd/controlC0", O_RDONLY)    = 6
fcntl64(6, F_SETFD, FD_CLOEXEC)         = 0
ioctl(6, SNDRV_CTL_IOCTL_CARD_INFO, 0x7f8e2d58) = 0
close(6)                                = 0
stat64("/etc/alsa/alsa.conf", {st_mode=S_IFREG|0777, st_size=9665, ...}) = 0
open("/etc/alsa/alsa.conf", O_RDONLY) = 6
ioctl(6, TCGETS, 0x7f8e2ca0)            = -1 ENOTTY (Inappropriate ioctl for device)
read(6, "#\n#  ALSA library configuration "..., 4096) = 4096
brk(0xd5d000)                           = 0xd5d000
brk(0xd5e000)                           = 0xd5e000
futex(0x772405b0, FUTEX_WAKE_PRIVATE, 1) = 1
brk(0xd5f000)                           = 0xd5f000
read(6, "@func refer\n\t\t\tname defaults.nam"..., 4096) = 4096
brk(0xd60000)                           = 0xd60000
brk(0xd61000)                           = 0xd61000
brk(0xd62000)                           = 0xd62000
brk(0xd63000)                           = 0xd63000
brk(0xd64000)                           = 0xd64000
read(6, "_CARD\n\t\t\t\tALSA_CARD\n\t\t\t]\n\t\t\tdefa"..., 4096) = 1473
brk(0xd65000)                           = 0xd65000
brk(0xd66000)                           = 0xd66000
read(6, "", 4096)                       = 0
close(6)                                = 0
futex(0x77348840, FUTEX_WAKE_PRIVATE, 2147483647) = 0
open("/lib/libasound.so.2", O_RDONLY) = 6
fstat(6, {st_mode=S_IFREG|0777, st_size=3051008, ...}) = 0
close(6)                                = 0
open("/lib/libasound.so.2", O_RDONLY) = 6
fstat(6, {st_mode=S_IFREG|0777, st_size=3051008, ...}) = 0
close(6)                                = 0
open("/lib/libasound.so.2", O_RDONLY) = 6
fstat(6, {st_mode=S_IFREG|0777, st_size=3051008, ...}) = 0
close(6)                                = 0
access("/etc/alsa/alsa.conf.d/", R_OK) = -1 ENOENT (No such file or directory)
access("/etc/asound.conf", R_OK)        = -1 ENOENT (No such file or directory)
access("//.asoundrc", R_OK)             = -1 ENOENT (No such file or directory)
brk(0xd67000)                           = 0xd67000
brk(0xd68000)                           = 0xd68000
brk(0xd69000)                           = 0xd69000
brk(0xd6a000)                           = 0xd6a000
brk(0xd6b000)                           = 0xd6b000
brk(0xd6c000)                           = 0xd6c000
brk(0xd6d000)                           = 0xd6d000
brk(0xd6e000)                           = 0xd6e000
brk(0xd6f000)                           = 0xd6f000
open("/dev/snd/controlC0", O_RDWR)      = 6
fcntl64(6, F_SETFD, FD_CLOEXEC)         = 0
ioctl(6, SNDRV_CTL_IOCTL_PVERSION, 0x7f8e2cd4) = 0
ioctl(6, SNDRV_CTL_IOCTL_CARD_INFO, 0x7f8e2d10) = 0
close(6)                                = 0
stat64("/etc/alsa/alsa.conf", {st_mode=S_IFREG|0777, st_size=9665, ...}) = 0
open("/etc/alsa/alsa.conf", O_RDONLY) = 6
ioctl(6, TCGETS, 0x7f8e2a60)            = -1 ENOTTY (Inappropriate ioctl for device)
brk(0xd70000)                           = 0xd70000
read(6, "#\n#  ALSA library configuration "..., 4096) = 4096
brk(0xd71000)                           = 0xd71000
brk(0xd72000)                           = 0xd72000
brk(0xd73000)                           = 0xd73000
brk(0xd74000)                           = 0xd74000
read(6, "@func refer\n\t\t\tname defaults.nam"..., 4096) = 4096
brk(0xd75000)                           = 0xd75000
brk(0xd76000)                           = 0xd76000
brk(0xd77000)                           = 0xd77000
brk(0xd78000)                           = 0xd78000
brk(0xd79000)                           = 0xd79000
futex(0x772405b0, FUTEX_WAKE_PRIVATE, 1) = 1
read(6, "_CARD\n\t\t\t\tALSA_CARD\n\t\t\t]\n\t\t\tdefa"..., 4096) = 1473
brk(0xd7a000)                           = 0xd7a000
read(6, "", 4096)                       = 0
close(6)                                = 0
open("/lib/libasound.so.2", O_RDONLY) = 6
fstat(6, {st_mode=S_IFREG|0777, st_size=3051008, ...}) = 0
close(6)                                = 0
open("/lib/libasound.so.2", O_RDONLY) = 6
fstat(6, {st_mode=S_IFREG|0777, st_size=3051008, ...}) = 0
close(6)                                = 0
open("/lib/libasound.so.2", O_RDONLY) = 6
fstat(6, {st_mode=S_IFREG|0777, st_size=3051008, ...}) = 0
close(6)                                = 0
access("/etc/alsa/alsa.conf.d/", R_OK) = -1 ENOENT (No such file or directory)
access("/etc/asound.conf", R_OK)        = -1 ENOENT (No such file or directory)
access("//.asoundrc", R_OK)             = -1 ENOENT (No such file or directory)
open("/lib/libasound.so.2", O_RDONLY) = 6
fstat(6, {st_mode=S_IFREG|0777, st_size=3051008, ...}) = 0
close(6)                                = 0
open("/dev/snd/controlC0", O_RDONLY)    = 6
fcntl64(6, F_SETFD, FD_CLOEXEC)         = 0
ioctl(6, SNDRV_CTL_IOCTL_CARD_INFO, 0x7f8e2840) = 0
close(6)                                = 0
open("/dev/snd/controlC0", O_RDWR)      = 6
fcntl64(6, F_SETFD, FD_CLOEXEC)         = 0
ioctl(6, SNDRV_CTL_IOCTL_PVERSION, 0x7f8e2b74) = 0
ioctl(6, SNDRV_CTL_IOCTL_CARD_INFO, 0x7f8e2ce0) = 0
ioctl(6, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(6, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(6, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
open("/lib/libasound.so.2", O_RDONLY) = 7
fstat(7, {st_mode=S_IFREG|0777, st_size=3051008, ...}) = 0
close(7)                                = 0
open("/lib/libasound.so.2", O_RDONLY) = 7
fstat(7, {st_mode=S_IFREG|0777, st_size=3051008, ...}) = 0
close(7)                                = 0
open("/lib/libasound.so.2", O_RDONLY) = 7
fstat(7, {st_mode=S_IFREG|0777, st_size=3051008, ...}) = 0
close(7)                                = 0
stat64("/etc/alsa/cards/aliases.conf", 0x7f8e2800) = -1 ENOENT (No such file or directory)
open("/lib/libasound.so.2", O_RDONLY) = 7
fstat(7, {st_mode=S_IFREG|0777, st_size=3051008, ...}) = 0
close(7)                                = 0
open("/dev/snd/controlC0", O_RDONLY)    = 7
fcntl64(7, F_SETFD, FD_CLOEXEC)         = 0
ioctl(7, SNDRV_CTL_IOCTL_CARD_INFO, 0x7f8e2770) = 0
close(7)                                = 0
stat64("/etc/alsa/alsa.conf", {st_mode=S_IFREG|0777, st_size=9665, ...}) = 0
open("/dev/snd/controlC0", O_RDONLY)    = 7
fcntl64(7, F_SETFD, FD_CLOEXEC)         = 0
ioctl(7, SNDRV_CTL_IOCTL_CARD_INFO, 0x7f8e22f0) = 0
close(7)                                = 0
open("/dev/snd/controlC0", O_RDWR)      = 7
fcntl64(7, F_SETFD, FD_CLOEXEC)         = 0
ioctl(7, SNDRV_CTL_IOCTL_PVERSION, 0x7f8e2624) = 0
ioctl(7, SNDRV_CTL_IOCTL_CARD_INFO, 0x7f8e27c8) = 0
close(7)                                = 0
open("/lib/libasound.so.2", O_RDONLY) = 7
fstat(7, {st_mode=S_IFREG|0777, st_size=3051008, ...}) = 0
close(7)                                = 0
open("/lib/libasound.so.2", O_RDONLY) = 7
fstat(7, {st_mode=S_IFREG|0777, st_size=3051008, ...}) = 0
close(7)                                = 0
open("/lib/libasound.so.2", O_RDONLY) = 7
fstat(7, {st_mode=S_IFREG|0777, st_size=3051008, ...}) = 0
close(7)                                = 0
access("/etc/alsa/cards/Loopback.conf", R_OK) = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC1", O_RDONLY)    = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC2", O_RDONLY)    = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC3", O_RDONLY)    = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC4", O_RDONLY)    = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC5", O_RDONLY)    = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC6", O_RDONLY)    = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC7", O_RDONLY)    = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC8", O_RDONLY)    = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC9", O_RDONLY)    = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC10", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC11", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC12", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC13", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC14", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC15", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC16", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC17", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC18", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC19", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC20", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC21", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC22", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC23", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC24", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC25", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC26", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC27", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC28", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC29", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC30", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC31", O_RDONLY)   = -1 ENOENT (No such file or directory)
ioctl(6, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(6, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(6, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(6, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(6, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(6, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(6, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(6, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(6, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(6, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(6, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(6, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(6, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(6, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(6, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(6, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(6, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(6, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(6, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(6, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(6, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(6, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(6, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(6, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(6, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(6, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(6, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(6, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(6, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(6, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(6, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(6, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(6, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(6, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(6, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(6, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(6, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(6, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(6, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(6, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(6, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(6, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(6, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(6, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(6, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(6, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(6, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(6, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(6, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(6, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(6, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(6, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(6, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(6, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(6, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(6, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(6, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(6, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(6, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(6, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
open("/lib/libasound.so.2", O_RDONLY) = 7
fstat(7, {st_mode=S_IFREG|0777, st_size=3051008, ...}) = 0
close(7)                                = 0
open("/lib/libasound.so.2", O_RDONLY) = 7
fstat(7, {st_mode=S_IFREG|0777, st_size=3051008, ...}) = 0
close(7)                                = 0
open("/lib/libasound.so.2", O_RDONLY) = 7
fstat(7, {st_mode=S_IFREG|0777, st_size=3051008, ...}) = 0
close(7)                                = 0
open("/lib/libasound.so.2", O_RDONLY) = 7
fstat(7, {st_mode=S_IFREG|0777, st_size=3051008, ...}) = 0
close(7)                                = 0
open("/lib/libasound.so.2", O_RDONLY) = 7
fstat(7, {st_mode=S_IFREG|0777, st_size=3051008, ...}) = 0
close(7)                                = 0
open("/lib/libasound.so.2", O_RDONLY) = 7
fstat(7, {st_mode=S_IFREG|0777, st_size=3051008, ...}) = 0
close(7)                                = 0
ioctl(6, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(6, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(6, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
open("/lib/libasound.so.2", O_RDONLY) = 7
fstat(7, {st_mode=S_IFREG|0777, st_size=3051008, ...}) = 0
close(7)                                = 0
open("/lib/libasound.so.2", O_RDONLY) = 7
fstat(7, {st_mode=S_IFREG|0777, st_size=3051008, ...}) = 0
close(7)                                = 0
open("/lib/libasound.so.2", O_RDONLY) = 7
fstat(7, {st_mode=S_IFREG|0777, st_size=3051008, ...}) = 0
close(7)                                = 0
open("/lib/libasound.so.2", O_RDONLY) = 7
fstat(7, {st_mode=S_IFREG|0777, st_size=3051008, ...}) = 0
close(7)                                = 0
open("/lib/libasound.so.2", O_RDONLY) = 7
fstat(7, {st_mode=S_IFREG|0777, st_size=3051008, ...}) = 0
close(7)                                = 0
open("/lib/libasound.so.2", O_RDONLY) = 7
fstat(7, {st_mode=S_IFREG|0777, st_size=3051008, ...}) = 0
close(7)                                = 0
ioctl(6, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(6, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(6, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(6, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(6, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(6, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(6, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(6, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(6, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(6, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(6, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(6, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(6, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(6, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(6, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
close(6)                                = 0
open("/dev/snd/controlC1", O_RDONLY)    = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC2", O_RDONLY)    = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC3", O_RDONLY)    = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC4", O_RDONLY)    = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC5", O_RDONLY)    = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC6", O_RDONLY)    = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC7", O_RDONLY)    = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC8", O_RDONLY)    = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC9", O_RDONLY)    = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC10", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC11", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC12", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC13", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC14", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC15", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC16", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC17", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC18", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC19", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC20", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC21", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC22", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC23", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC24", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC25", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC26", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC27", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC28", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC29", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC30", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC31", O_RDONLY)   = -1 ENOENT (No such file or directory)
write(1, "begin thread\n[", 14begin thread
[)         = 14
write(1, "NOTICE] /root/CLEAN/v4l2rtspserv"..., 63NOTICE] /root/CLEAN/v4l2rtspserver/src/V4l2RTSPServer.cpp:184
    ) = 63
write(1, "Create ALSA Source...hw:Loopback"..., 36Create ALSA Source...hw:Loopback,0
[) = 36
write(1, "NOTICE] /root/CLEAN/v4l2rtspserv"..., 59NOTICE] /root/CLEAN/v4l2rtspserver/src/ALSACapture.cpp:49
    ) = 59
stat64("/etc/alsa/alsa.conf", {st_mode=S_IFREG|0777, st_size=9665, ...}) = 0
open("/lib/libasound.so.2", O_RDONLY) = 6
fstat(6, {st_mode=S_IFREG|0777, st_size=3051008, ...}) = 0
close(6)                                = 0
open("/lib/libasound.so.2", O_RDONLY) = 6
fstat(6, {st_mode=S_IFREG|0777, st_size=3051008, ...}) = 0
close(6)                                = 0
open("/lib/libasound.so.2", O_RDONLY) = 6
fstat(6, {st_mode=S_IFREG|0777, st_size=3051008, ...}) = 0
close(6)                                = 0
open("/dev/snd/controlC0", O_RDWR)      = 6
fcntl64(6, F_SETFD, FD_CLOEXEC)         = 0
ioctl(6, SNDRV_CTL_IOCTL_PVERSION, 0x7f8e2f44) = 0
ioctl(6, SNDRV_CTL_IOCTL_CARD_INFO, 0x7f8e2f80) = 0
close(6)                                = 0
open("/dev/snd/controlC0", O_RDWR)      = 6
fcntl64(6, F_SETFD, FD_CLOEXEC)         = 0
ioctl(6, SNDRV_CTL_IOCTL_PVERSION, 0x7f8e2f7c) = 0
ioctl(6, SNDRV_CTL_IOCTL_PCM_PREFER_SUBDEVICE, 0x7f8e2fa4) = 0
open("/dev/snd/pcmC0D0c", O_RDWR|O_NONBLOCK) = 7
fcntl64(7, F_SETFD, FD_CLOEXEC)         = 0
close(6)                                = 0
ioctl(7, SNDRV_PCM_IOCTL_INFO, 0x7f8e2e48) = 0
fcntl64(7, F_GETFL)                     = 0x82 (flags O_RDWR|O_NONBLOCK)
ioctl(7, AGPIOC_INFO or SNDRV_PCM_IOCTL_PVERSION, 0x7f8e2f78) = 0
clock_gettime(CLOCK_MONOTONIC, {tv_sec=1452, tv_nsec=832827967}) = 0
ioctl(7, AGPIOC_SETUP or SNDRV_PCM_IOCTL_TTSTAMP, 0x7f8e2f70) = 0
mmap(NULL, 4096, PROT_READ, MAP_SHARED, 7, 0x80000000) = -1 ENXIO (No such device or address)
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_SHARED, 7, 0x81000000) = -1 ENXIO (No such device or address)
ioctl(7, SNDRV_PCM_IOCTL_SYNC_PTR, 0xd5a4e8) = 0
fcntl64(7, F_GETFL)                     = 0x82 (flags O_RDWR|O_NONBLOCK)
fcntl64(7, F_SETFL, O_RDWR)             = 0
ioctl(7, SNDRV_PCM_IOCTL_HW_REFINE, 0xd6e950) = 0
ioctl(7, SNDRV_PCM_IOCTL_HW_REFINE, 0xd6e950) = 0
write(1, "Open ALSA device: \"hw:Loopback,0"..., 35Open ALSA device: "hw:Loopback,0"
[) = 35
write(1, "NOTICE] /root/CLEAN/v4l2rtspserv"..., 60NOTICE] /root/CLEAN/v4l2rtspserver/src/ALSACapture.cpp:117
    ) = 60
ioctl(7, SNDRV_PCM_IOCTL_HW_REFINE, 0xd6e950) = 0
ioctl(7, SNDRV_PCM_IOCTL_HW_REFINE, 0xd6e950) = 0
ioctl(7, SNDRV_PCM_IOCTL_HW_REFINE, 0xd6e950) = 0
ioctl(7, SNDRV_PCM_IOCTL_HW_REFINE, 0xd6e950) = 0
ioctl(7, SNDRV_PCM_IOCTL_HW_REFINE, 0xd6e950) = 0
ioctl(7, SNDRV_PCM_IOCTL_HW_PARAMS, 0xd6e950) = 0
ioctl(7, SNDRV_PCM_IOCTL_SYNC_PTR, 0xd5a4e8) = 0
ioctl(7, SNDRV_PCM_IOCTL_SW_PARAMS, 0x7f8e3220) = 0
ioctl(7, SNDRV_PCM_IOCTL_PREPARE, 0)    = 0
ioctl(7, SNDRV_PCM_IOCTL_SYNC_PTR, 0xd5a4e8) = 0
ioctl(7, SNDRV_PCM_IOCTL_PREPARE, 0)    = 0
ioctl(7, SNDRV_PCM_IOCTL_SYNC_PTR, 0xd5a4e8) = 0
ioctl(7, SNDRV_PCM_IOCTL_SYNC_PTR, 0xd5a4e8) = 0
ioctl(7, SNDRV_PCM_IOCTL_START, 0)      = 0
write(1, "set sample format device: hw:Loo"..., 49set sample format device: hw:Loopback,0 to:2 ok
[) = 49
write(1, "NOTICE] /root/CLEAN/v4l2rtspserv"..., 60NOTICE] /root/CLEAN/v4l2rtspserver/src/ALSACapture.cpp:104
    ) = 60
mmap(NULL, 8388608, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x72213000
mprotect(0x72213000, 4096, PROT_NONE)   = 0
clone(child_stack=0x72a12090, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, parent_tid=[4746], tls=0x72a19960, child_tidptr=0x72a12568) = 4746
write(1, "ALSA device: \"hw:Loopback,0\" buf"..., 78ALSA device: "hw:Loopback,0" buffer_size:1048576 period_size:1024 rate:16000
[) = 78
write(1, "NOTICE] /root/CLEAN/v4l2rtspserv"..., 71NOTICE] /root/CLEAN/v4l2rtspserver/inc/BaseServerMediaSubsession.h:49
    ) = 71
uname({sysname="Linux", nodename="WCV3", ...}) = 0
write(1, "format:video/H264\n[", 19format:video/H264
[)    = 19
write(1, "NOTICE] /root/CLEAN/v4l2rtspserv"..., 71NOTICE] /root/CLEAN/v4l2rtspserver/inc/BaseServerMediaSubsession.h:49
    ) = 71
uname({sysname="Linux", nodename="WCV3", ...}) = 0
gettimeofday({tv_sec=1655020783, tv_usec=228900}, NULL) = 0
write(1, "format:audio/L16/16000/1\n[", 26format:audio/L16/16000/1
[) = 26
write(1, "NOTICE] /root/CLEAN/v4l2rtspserv"..., 60NOTICE] /root/CLEAN/v4l2rtspserver/inc/V4l2RTSPServer.h:80
    ) = 60
write(1, "Play this stream using the URL \""..., 72Play this stream using the URL "rtsp://x.x.x.x:8554/video1_unicast"
[) = 72
write(1, "NOTICE] /root/CLEAN/v4l2rtspserv"..., 62NOTICE] /root/CLEAN/v4l2rtspserver/src/V4l2RTSPServer.cpp:37
    ) = 62
stat64("/dev/video2", {st_mode=S_IFCHR|0660, st_rdev=makedev(0x51, 0x1), ...}) = 0
open("/dev/video2", O_RDWR|O_NONBLOCK|O_LARGEFILE) = 6
ioctl(6, VIDIOC_QUERYCAP, {driver="v4l2 loopback", card="Dummy video device (0x0001)", bus_info="platform:v4l2loopback-001", version=KERNEL_VERSION(3, 10, 14), capabilities=V4L2_CAP_VIDEO_CAPTURE|V4L2_CAP_VIDEO_OUTPUT|V4L2_CAP_VIDEO_M2M|V4L2_CAP_READWRITE|V4L2_CAP_STREAMING|V4L2_CAP_DEVICE_CAPS, device_caps=V4L2_CAP_VIDEO_CAPTURE|V4L2_CAP_VIDEO_OUTPUT|V4L2_CAP_VIDEO_M2M|V4L2_CAP_READWRITE|V4L2_CAP_STREAMING}) = 0
write(1, "Create V4L2 Source.../dev/video2"..., 34Create V4L2 Source.../dev/video2
[) = 34
write(1, "NOTICE] /root/CLEAN/v4l2rtspserv"..., 71NOTICE] /root/CLEAN/v4l2rtspserver/v4l2wrapper/src/V4l2Device.cpp:133
    ) = 71
write(1, "driver:v4l2 loopback capabilitie"..., 62driver:v4l2 loopback capabilities:85008003 mandatory:4000001
[) = 62
write(1, "NOTICE] /root/CLEAN/v4l2rtspserv"..., 71NOTICE] /root/CLEAN/v4l2rtspserver/v4l2wrapper/src/V4l2Device.cpp:135
    ) = 71
write(1, "/dev/video2 support output\n[", 28/dev/video2 support output
[) = 28
write(1, "NOTICE] /root/CLEAN/v4l2rtspserv"..., 71NOTICE] /root/CLEAN/v4l2rtspserver/v4l2wrapper/src/V4l2Device.cpp:136
    ) = 71
write(1, "/dev/video2 support capture\n[", 29/dev/video2 support capture
[) = 29
write(1, "NOTICE] /root/CLEAN/v4l2rtspserv"..., 71NOTICE] /root/CLEAN/v4l2rtspserver/v4l2wrapper/src/V4l2Device.cpp:138
    ) = 71
write(1, "/dev/video2 support read/write\n[", 32/dev/video2 support read/write
[) = 32
write(1, "NOTICE] /root/CLEAN/v4l2rtspserv"..., 71NOTICE] /root/CLEAN/v4l2rtspserver/v4l2wrapper/src/V4l2Device.cpp:139
    ) = 71
ioctl(6, VIDIOC_G_FMT, {type=V4L2_BUF_TYPE_VIDEO_CAPTURE, fmt.pix={width=640, height=360, pixelformat=v4l2_fourcc('H', '2', '6', '4') /* V4L2_PIX_FMT_H264 */, field=V4L2_FIELD_NONE, bytesperline=0, sizeimage=921600, colorspace=V4L2_COLORSPACE_SRGB}}) = 0
ioctl(6, VIDIOC_G_FMT, {type=V4L2_BUF_TYPE_VIDEO_CAPTURE, fmt.pix={width=640, height=360, pixelformat=v4l2_fourcc('H', '2', '6', '4') /* V4L2_PIX_FMT_H264 */, field=V4L2_FIELD_NONE, bytesperline=0, sizeimage=921600, colorspace=V4L2_COLORSPACE_SRGB}}) = 0
/dev/video2 support streaming
[NOTICE] /root/CLEAN/v4l2rtspserver/src/V4L2DeviceSource.cpp:96
    ioctl(6, VIDIOC_S_FMT, {type=V4L2_BUF_TYPE_VIDEO_CAPTURE, fmt.pix={width=640, height=360, pixelformat=v4l2_fourcc('H', '2', '6', '4') /* V4L2_PIX_FMT_H264 */, field=V4L2_FIELD_NONE, bytesperline=0, sizeimage=921600, colorspace=V4L2_COLORSPACE_SRGB}} => {fmt.pix={width=640, height=360, pixelformat=v4l2_fourcc('H', '2', '6', '4') /* V4L2_PIX_FMT_H264 */, field=V4L2_FIELD_NONE, bytesperline=0, sizeimage=921600, colorspace=V4L2_COLORSPACE_SRGB}}) = 0
write(1, "begin thread\n[", 14begin thread
[)         = 14
write(1, "NOTICE] /root/CLEAN/v4l2rtspserv"..., 71NOTICE] /root/CLEAN/v4l2rtspserver/v4l2wrapper/src/V4l2Device.cpp:225
    ) = 71
ioctl(6, VIDIOC_G_FMT, {type=V4L2_BUF_TYPE_VIDEO_CAPTURE, fmt.pix={width=640, height=360, pixelformat=v4l2_fourcc('H', '2', '6', '4') /* V4L2_PIX_FMT_H264 */, field=V4L2_FIELD_NONE, bytesperline=0, sizeimage=921600, colorspace=V4L2_COLORSPACE_SRGB}}) = 0
ioctl(6, VIDIOC_S_PARM, {type=V4L2_BUF_TYPE_VIDEO_CAPTURE, parm.capture={capability=0, capturemode=0, timeperframe=1/25, extendedmode=0, readbuffers=0}} => {parm.capture={capability=0, capturemode=0, timeperframe=1/25, extendedmode=0, readbuffers=2}}) = 0
write(1, "/dev/video2:H264 size:640x360 bu"..., 49/dev/video2:H264 size:640x360 bufferSize:921600
[) = 49
write(1, "NOTICE] /root/CLEAN/v4l2rtspserv"..., 71NOTICE] /root/CLEAN/v4l2rtspserver/v4l2wrapper/src/V4l2Device.cpp:246
    ) = 71
write(1, "fps:1/25\n[", 10fps:1/25
[)             = 10
write(1, "NOTICE] /root/CLEAN/v4l2rtspserv"..., 71NOTICE] /root/CLEAN/v4l2rtspserver/v4l2wrapper/src/V4l2Device.cpp:247
    ) = 71
write(1, "nbBuffer:2\n[", 12nbBuffer:2
[)           = 12
write(1, "NOTICE] /root/CLEAN/v4l2rtspserv"..., 74NOTICE] /root/CLEAN/v4l2rtspserver/v4l2wrapper/src/V4l2MmapDevice.cpp:49
    ) = 74
ioctl(6, VIDIOC_REQBUFS, {type=V4L2_BUF_TYPE_VIDEO_CAPTURE, memory=V4L2_MEMORY_MMAP, count=10 => 2}) = 0
write(1, "Device /dev/video2\n[", 20Device /dev/video2
[)   = 20
write(1, "NOTICE] /root/CLEAN/v4l2rtspserv"..., 74NOTICE] /root/CLEAN/v4l2rtspserver/v4l2wrapper/src/V4l2MmapDevice.cpp:73
    ) = 74
ioctl(6, VIDIOC_QUERYBUF_TIME32, 0x7f8e3264) = 0
mmap2(NULL, 921600, PROT_READ|PROT_WRITE, MAP_SHARED, 6, 0) = 0x748da000
ioctl(6, VIDIOC_QUERYBUF_TIME32, 0x7f8e3264) = 0
mmap2(NULL, 921600, PROT_READ|PROT_WRITE, MAP_SHARED, 6, 0xe1000) = 0x747f9000
ioctl(6, VIDIOC_QBUF_TIME32, 0x7f8e3220) = 0
ioctl(6, VIDIOC_QBUF_TIME32, 0x7f8e3220) = 0
ioctl(6, VIDIOC_STREAMON, [V4L2_BUF_TYPE_VIDEO_CAPTURE]) = 0
stat64("video2", {st_mode=S_IFREG|0777, st_size=0, ...}) = 0
open("video2", O_WRONLY|O_CREAT|O_TRUNC|O_LARGEFILE, 0700) = 8
write(1, "Device /dev/video2 nb buffer:2\n[", 32Device /dev/video2 nb buffer:2
[) = 32
write(1, "NOTICE] /root/CLEAN/v4l2rtspserv"..., 74NOTICE] /root/CLEAN/v4l2rtspserver/v4l2wrapper/src/V4l2MmapDevice.cpp:49
    ) = 74
ioctl(8, VIDIOC_REQBUFS, {type=V4L2_BUF_TYPE_VIDEO_OUTPUT, memory=V4L2_MEMORY_MMAP, count=10}) = -1 ENOTTY (Inappropriate ioctl for device)
write(2, "VIDIOC_REQBUFS", 14VIDIOC_REQBUFS)          = 14
write(2, ": ", 2: )                       = 2
write(2, "Inappropriate ioctl for device", 30Inappropriate ioctl for device) = 30
write(2, "\n", 1
)                       = 1
write(1, "Device video2\n[", 15Device video2
[)        = 15
write(1, "NOTICE] /root/CLEAN/v4l2rtspserv"..., 75NOTICE] /root/CLEAN/v4l2rtspserver/v4l2wrapper/src/V4l2MmapDevice.cpp:141
    ) = 75
ioctl(8, VIDIOC_STREAMOFF, [V4L2_BUF_TYPE_VIDEO_OUTPUT]) = -1 ENOTTY (Inappropriate ioctl for device)
write(2, "VIDIOC_STREAMOFF", 16VIDIOC_STREAMOFF)        = 16
write(2, ": ", 2: )                       = 2
write(2, "Inappropriate ioctl for device", 30Inappropriate ioctl for device) = 30
write(2, "\n", 1
)                       = 1
ioctl(8, VIDIOC_REQBUFS, {type=V4L2_BUF_TYPE_VIDEO_OUTPUT, memory=V4L2_MEMORY_MMAP, count=0}) = -1 ENOTTY (Inappropriate ioctl for device)
write(2, "VIDIOC_REQBUFS", 14VIDIOC_REQBUFS)          = 14
write(2, ": ", 2: )                       = 2
write(2, "Inappropriate ioctl for device", 30Inappropriate ioctl for device) = 30
write(2, "\n", 1
)                       = 1
close(8)                                = 0
write(1, "Device video2\n[", 15Device video2
[)        = 15
write(1, "WARN] /root/CLEAN/v4l2rtspserver"..., 60WARN] /root/CLEAN/v4l2rtspserver/src/V4l2RTSPServer.cpp:53
    ) = 60
write(1, "Cannot open output:video2\n[", 27Cannot open output:video2
[) = 27
write(1, "NOTICE] /root/CLEAN/v4l2rtspserv"..., 62NOTICE] /root/CLEAN/v4l2rtspserver/src/V4l2RTSPServer.cpp:62
    ) = 62
mmap(NULL, 8388608, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7370e000
mprotect(0x7370e000, 4096, PROT_NONE)   = 0
clone(child_stack=0x73f0d090, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, parent_tid=[4747], tls=0x73f14960, child_tidptr=0x73f0d568) = 4747
open("/sys/class/video4linux", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = 8
fstat64(8, {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0
fcntl(8, F_SETFD, FD_CLOEXEC)           = 0
getdents64(8, 0x7f8e1ec0 /* 4 entries */, 4096) = 112
open("/sys/class/video4linux/video1/device/uevent", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
open("/sys/class/video4linux/video2/device/uevent", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
getdents64(8, 0x7f8e1ec0 /* 0 entries */, 4096) = 0
close(8)                                = 0
open("/dev/snd/controlC0", O_RDONLY)    = 8
fcntl64(8, F_SETFD, FD_CLOEXEC)         = 0
ioctl(8, SNDRV_CTL_IOCTL_CARD_INFO, 0x7f8e2d58) = 0
close(8)                                = 0
stat64("/etc/alsa/alsa.conf", {st_mode=S_IFREG|0777, st_size=9665, ...}) = 0
open("/etc/alsa/alsa.conf", O_RDONLY) = 8
ioctl(8, TCGETS, 0x7f8e2ca0)            = -1 ENOTTY (Inappropriate ioctl for device)
read(8, "#\n#  ALSA library configuration "..., 4096) = 4096
read(8, "@func refer\n\t\t\tname defaults.nam"..., 4096) = 4096
Create Source .../dev/video2
[NOTICE] /root/CLEAN/v4l2rtspserver/src/V4L2DeviceSource.cpp:96
    read(8, "_CARD\n\t\t\t\tALSA_CARD\n\t\t\t]\n\t\t\tdefa"..., 4096) = 1473
read(8, "", 4096)                       = 0
close(8)                                = 0
open("/lib/libasound.so.2", O_RDONLY) = 8
fstat(8, {st_mode=S_IFREG|0777, st_size=3051008, ...}) = 0
close(8)                                = 0
open("/lib/libasound.so.2", O_RDONLY) = 8
fstat(8, {st_mode=S_IFREG|0777, st_size=3051008, ...}) = 0
close(8)                                = 0
open("/lib/libasound.so.2", O_RDONLY) = 8
fstat(8, {st_mode=S_IFREG|0777, st_size=3051008, ...}) = 0
close(8)                                = 0
access("/etc/alsa/alsa.conf.d/", R_OK) = -1 ENOENT (No such file or directory)
access("/etc/asound.conf", R_OK)        = -1 ENOENT (No such file or directory)
access("//.asoundrc", R_OK)             = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC0", O_RDWR)      = 8
fcntl64(8, F_SETFD, FD_CLOEXEC)         = 0
ioctl(8, SNDRV_CTL_IOCTL_PVERSION, 0x7f8e2cd4) = 0
ioctl(8, SNDRV_CTL_IOCTL_CARD_INFO, 0x7f8e2d10) = 0
close(8)                                = 0
stat64("/etc/alsa/alsa.conf", {st_mode=S_IFREG|0777, st_size=9665, ...}) = 0
open("/dev/snd/controlC0", O_RDONLY)    = 8
fcntl64(8, F_SETFD, FD_CLOEXEC)         = 0
ioctl(8, SNDRV_CTL_IOCTL_CARD_INFO, 0x7f8e2840) = 0
close(8)                                = 0
open("/dev/snd/controlC0", O_RDWR)      = 8
fcntl64(8, F_SETFD, FD_CLOEXEC)         = 0
ioctl(8, SNDRV_CTL_IOCTL_PVERSION, 0x7f8e2b74) = 0
ioctl(8, SNDRV_CTL_IOCTL_CARD_INFO, 0x7f8e2ce0) = 0
ioctl(8, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(8, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(8, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
open("/lib/libasound.so.2", O_RDONLY) = 9
fstat(9, {st_mode=S_IFREG|0777, st_size=3051008, ...}) = 0
close(9)                                = 0
open("/lib/libasound.so.2", O_RDONLY) = 9
fstat(9, {st_mode=S_IFREG|0777, st_size=3051008, ...}) = 0
close(9)                                = 0
open("/lib/libasound.so.2", O_RDONLY) = 9
fstat(9, {st_mode=S_IFREG|0777, st_size=3051008, ...}) = 0
close(9)                                = 0
stat64("/etc/alsa/cards/aliases.conf", 0x7f8e2800) = -1 ENOENT (No such file or directory)
open("/lib/libasound.so.2", O_RDONLY) = 9
fstat(9, {st_mode=S_IFREG|0777, st_size=3051008, ...}) = 0
close(9)                                = 0
open("/dev/snd/controlC0", O_RDONLY)    = 9
fcntl64(9, F_SETFD, FD_CLOEXEC)         = 0
ioctl(9, SNDRV_CTL_IOCTL_CARD_INFO, 0x7f8e2770) = 0
close(9)                                = 0
stat64("/etc/alsa/alsa.conf", {st_mode=S_IFREG|0777, st_size=9665, ...}) = 0
open("/dev/snd/controlC0", O_RDONLY)    = 9
fcntl64(9, F_SETFD, FD_CLOEXEC)         = 0
ioctl(9, SNDRV_CTL_IOCTL_CARD_INFO, 0x7f8e22f0) = 0
close(9)                                = 0
open("/dev/snd/controlC0", O_RDWR)      = 9
fcntl64(9, F_SETFD, FD_CLOEXEC)         = 0
ioctl(9, SNDRV_CTL_IOCTL_PVERSION, 0x7f8e2624) = 0
ioctl(9, SNDRV_CTL_IOCTL_CARD_INFO, 0x7f8e27c8) = 0
close(9)                                = 0
open("/lib/libasound.so.2", O_RDONLY) = 9
fstat(9, {st_mode=S_IFREG|0777, st_size=3051008, ...}) = 0
close(9)                                = 0
open("/lib/libasound.so.2", O_RDONLY) = 9
fstat(9, {st_mode=S_IFREG|0777, st_size=3051008, ...}) = 0
close(9)                                = 0
open("/lib/libasound.so.2", O_RDONLY) = 9
fstat(9, {st_mode=S_IFREG|0777, st_size=3051008, ...}) = 0
close(9)                                = 0
access("/etc/alsa/cards/Loopback.conf", R_OK) = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC1", O_RDONLY)    = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC2", O_RDONLY)    = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC3", O_RDONLY)    = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC4", O_RDONLY)    = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC5", O_RDONLY)    = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC6", O_RDONLY)    = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC7", O_RDONLY)    = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC8", O_RDONLY)    = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC9", O_RDONLY)    = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC10", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC11", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC12", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC13", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC14", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC15", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC16", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC17", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC18", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC19", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC20", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC21", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC22", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC23", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC24", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC25", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC26", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC27", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC28", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC29", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC30", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC31", O_RDONLY)   = -1 ENOENT (No such file or directory)
ioctl(8, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(8, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(8, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(8, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(8, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(8, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(8, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(8, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(8, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(8, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(8, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(8, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(8, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(8, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(8, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(8, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(8, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(8, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(8, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(8, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(8, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(8, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(8, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(8, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(8, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(8, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(8, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(8, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(8, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(8, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(8, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(8, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(8, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(8, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(8, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(8, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(8, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(8, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(8, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(8, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(8, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(8, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(8, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(8, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(8, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(8, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(8, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(8, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(8, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(8, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(8, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(8, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(8, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(8, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(8, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(8, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(8, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(8, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(8, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(8, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
open("/lib/libasound.so.2", O_RDONLY) = 9
fstat(9, {st_mode=S_IFREG|0777, st_size=3051008, ...}) = 0
close(9)                                = 0
open("/lib/libasound.so.2", O_RDONLY) = 9
fstat(9, {st_mode=S_IFREG|0777, st_size=3051008, ...}) = 0
close(9)                                = 0
open("/lib/libasound.so.2", O_RDONLY) = 9
fstat(9, {st_mode=S_IFREG|0777, st_size=3051008, ...}) = 0
close(9)                                = 0
open("/lib/libasound.so.2", O_RDONLY) = 9
fstat(9, {st_mode=S_IFREG|0777, st_size=3051008, ...}) = 0
close(9)                                = 0
open("/lib/libasound.so.2", O_RDONLY) = 9
fstat(9, {st_mode=S_IFREG|0777, st_size=3051008, ...}) = 0
close(9)                                = 0
open("/lib/libasound.so.2", O_RDONLY) = 9
fstat(9, {st_mode=S_IFREG|0777, st_size=3051008, ...}) = 0
close(9)                                = 0
ioctl(8, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(8, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(8, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
open("/lib/libasound.so.2", O_RDONLY) = 9
fstat(9, {st_mode=S_IFREG|0777, st_size=3051008, ...}) = 0
close(9)                                = 0
open("/lib/libasound.so.2", O_RDONLY) = 9
fstat(9, {st_mode=S_IFREG|0777, st_size=3051008, ...}) = 0
close(9)                                = 0
open("/lib/libasound.so.2", O_RDONLY) = 9
fstat(9, {st_mode=S_IFREG|0777, st_size=3051008, ...}) = 0
close(9)                                = 0
open("/lib/libasound.so.2", O_RDONLY) = 9
fstat(9, {st_mode=S_IFREG|0777, st_size=3051008, ...}) = 0
close(9)                                = 0
open("/lib/libasound.so.2", O_RDONLY) = 9
fstat(9, {st_mode=S_IFREG|0777, st_size=3051008, ...}) = 0
close(9)                                = 0
open("/lib/libasound.so.2", O_RDONLY) = 9
fstat(9, {st_mode=S_IFREG|0777, st_size=3051008, ...}) = 0
close(9)                                = 0
ioctl(8, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(8, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(8, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(8, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(8, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(8, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(8, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(8, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(8, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(8, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(8, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(8, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(8, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(8, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
ioctl(8, SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE, 0x7f8e2e68) = 0
close(8)                                = 0
open("/dev/snd/controlC1", O_RDONLY)    = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC2", O_RDONLY)    = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC3", O_RDONLY)    = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC4", O_RDONLY)    = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC5", O_RDONLY)    = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC6", O_RDONLY)    = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC7", O_RDONLY)    = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC8", O_RDONLY)    = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC9", O_RDONLY)    = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC10", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC11", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC12", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC13", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC14", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC15", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC16", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC17", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC18", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC19", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC20", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC21", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC22", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC23", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC24", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC25", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC26", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC27", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC28", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC29", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC30", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC31", O_RDONLY)   = -1 ENOENT (No such file or directory)
write(1, "begin thread\n[", 14begin thread
[)         = 14
write(1, "NOTICE] /root/CLEAN/v4l2rtspserv"..., 63NOTICE] /root/CLEAN/v4l2rtspserver/src/V4l2RTSPServer.cpp:184
    ) = 63
write(1, "Create ALSA Source...hw:Loopback"..., 36Create ALSA Source...hw:Loopback,1
[) = 36
write(1, "NOTICE] /root/CLEAN/v4l2rtspserv"..., 59NOTICE] /root/CLEAN/v4l2rtspserver/src/ALSACapture.cpp:49
    ) = 59
stat64("/etc/alsa/alsa.conf", {st_mode=S_IFREG|0777, st_size=9665, ...}) = 0
open("/lib/libasound.so.2", O_RDONLY) = 8
fstat(8, {st_mode=S_IFREG|0777, st_size=3051008, ...}) = 0
close(8)                                = 0
open("/lib/libasound.so.2", O_RDONLY) = 8
fstat(8, {st_mode=S_IFREG|0777, st_size=3051008, ...}) = 0
close(8)                                = 0
open("/dev/snd/controlC0", O_RDWR)      = 8
fcntl64(8, F_SETFD, FD_CLOEXEC)         = 0
ioctl(8, SNDRV_CTL_IOCTL_PVERSION, 0x7f8e2f44) = 0
ioctl(8, SNDRV_CTL_IOCTL_CARD_INFO, 0x7f8e2f80) = 0
close(8)                                = 0
open("/dev/snd/controlC0", O_RDWR)      = 8
fcntl64(8, F_SETFD, FD_CLOEXEC)         = 0
ioctl(8, SNDRV_CTL_IOCTL_PVERSION, 0x7f8e2f7c) = 0
ioctl(8, SNDRV_CTL_IOCTL_PCM_PREFER_SUBDEVICE, 0x7f8e2fa4) = 0
open("/dev/snd/pcmC0D1c", O_RDWR|O_NONBLOCK) = 9
fcntl64(9, F_SETFD, FD_CLOEXEC)         = 0
close(8)                                = 0
ioctl(9, SNDRV_PCM_IOCTL_INFO, 0x7f8e2e48) = 0
fcntl64(9, F_GETFL)                     = 0x82 (flags O_RDWR|O_NONBLOCK)
ioctl(9, AGPIOC_INFO or SNDRV_PCM_IOCTL_PVERSION, 0x7f8e2f78) = 0
clock_gettime(CLOCK_MONOTONIC, {tv_sec=1455, tv_nsec=434131237}) = 0
ioctl(9, AGPIOC_SETUP or SNDRV_PCM_IOCTL_TTSTAMP, 0x7f8e2f70) = 0
mmap(NULL, 4096, PROT_READ, MAP_SHARED, 9, 0x80000000) = -1 ENXIO (No such device or address)
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_SHARED, 9, 0x81000000) = -1 ENXIO (No such device or address)
ioctl(9, SNDRV_PCM_IOCTL_SYNC_PTR, 0xd5a650) = 0
fcntl64(9, F_GETFL)                     = 0x82 (flags O_RDWR|O_NONBLOCK)
fcntl64(9, F_SETFL, O_RDWR)             = 0
ioctl(9, SNDRV_PCM_IOCTL_HW_REFINE, 0xd5a6e0) = 0
ioctl(9, SNDRV_PCM_IOCTL_HW_REFINE, 0xd5a6e0) = 0
write(1, "Open ALSA device: \"hw:Loopback,1"..., 35Open ALSA device: "hw:Loopback,1"
[) = 35
write(1, "NOTICE] /root/CLEAN/v4l2rtspserv"..., 60NOTICE] /root/CLEAN/v4l2rtspserver/src/ALSACapture.cpp:117
    ) = 60
ioctl(9, SNDRV_PCM_IOCTL_HW_REFINE, 0xd5a6e0) = 0
ioctl(9, SNDRV_PCM_IOCTL_HW_REFINE, 0xd5a6e0) = 0
ioctl(9, SNDRV_PCM_IOCTL_HW_REFINE, 0xd5a6e0) = 0
ioctl(9, SNDRV_PCM_IOCTL_HW_REFINE, 0xd5a6e0) = 0
ioctl(9, SNDRV_PCM_IOCTL_HW_REFINE, 0xd5a6e0) = 0
ioctl(9, SNDRV_PCM_IOCTL_HW_PARAMS, 0xd5a6e0) = 0
ioctl(9, SNDRV_PCM_IOCTL_SYNC_PTR, 0xd5a650) = 0
ioctl(9, SNDRV_PCM_IOCTL_SW_PARAMS, 0x7f8e3220) = 0
ioctl(9, SNDRV_PCM_IOCTL_PREPARE, 0)    = 0
ioctl(9, SNDRV_PCM_IOCTL_SYNC_PTR, 0xd5a650) = 0
ioctl(9, SNDRV_PCM_IOCTL_PREPARE, 0)    = 0
ioctl(9, SNDRV_PCM_IOCTL_SYNC_PTR, 0xd5a650) = 0
ioctl(9, SNDRV_PCM_IOCTL_SYNC_PTR, 0xd5a650) = 0
ioctl(9, SNDRV_PCM_IOCTL_START, 0)      = 0
write(1, "set sample format device: hw:Loo"..., 49set sample format device: hw:Loopback,1 to:2 ok
[) = 49
write(1, "NOTICE] /root/CLEAN/v4l2rtspserv"..., 60NOTICE] /root/CLEAN/v4l2rtspserver/src/ALSACapture.cpp:104
    ) = 60
mmap(NULL, 8388608, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x70255000
mprotect(0x70255000, 4096, PROT_NONE)   = 0
clone(child_stack=0x70a54090, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, parent_tid=[4750], tls=0x70a5b960, child_tidptr=0x70a54568) = 4750
write(1, "ALSA device: \"hw:Loopback,1\" buf"..., 77ALSA device: "hw:Loopback,1" buffer_size:1048576 period_size:1024 rate:8000
[) = 77
write(1, "NOTICE] /root/CLEAN/v4l2rtspserv"..., 71NOTICE] /root/CLEAN/v4l2rtspserver/inc/BaseServerMediaSubsession.h:49
    ) = 71
uname({sysname="Linux", nodename="WCV3", ...}) = 0
write(1, "format:video/H264\n[", 19format:video/H264
[)    = 19
write(1, "NOTICE] /root/CLEAN/v4l2rtspserv"..., 71NOTICE] /root/CLEAN/v4l2rtspserver/inc/BaseServerMediaSubsession.h:49
    ) = 71
uname({sysname="Linux", nodename="WCV3", ...}) = 0
gettimeofday({tv_sec=1655020785, tv_usec=491081}, NULL) = 0
write(1, "format:audio/L16/8000/1\n[", 25format:audio/L16/8000/1
[) = 25
write(1, "NOTICE] /root/CLEAN/v4l2rtspserv"..., 60NOTICE] /root/CLEAN/v4l2rtspserver/inc/V4l2RTSPServer.h:80
    ) = 60
rt_sigaction(SIGINT, {sa_handler=0x472df0, sa_mask=[INT], sa_flags=SA_RESTART}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 16) = 0
gettimeofday({tv_sec=1655020785, tv_usec=491793}, NULL) = 0
Play this stream using the URL "rtsp://x.x.x.x:8554/video2_unicast"
[NOTICE] /root/CLEAN/v4l2rtspserver/src/V4L2DeviceSource.cpp:96
mpromonet commented 2 years ago

Hi gtxaspec,

There is clearly a bug managing output with multiple capture device. I will fix this.

Best Regards, Michel.

contactnat commented 2 years ago

Hi there,

is there a way to setup two streams with the same source at the same time? I've a raspberry pi and raspberry cam and want to use one rtsp stream in hq and a second one with lower resolution to send it to youtube.

Thx!

Hi - did you get yours working? I have the same/similar setup but cant figure this out, can you perhaps show your start command for v4l2rtspserver? mine looks like this: sudo v4l2rtspserver -W 1920 -H 1080 -F 5 -P 8554 /dev/video0

thanks