Den 08.02.2023 16:45, skrev Terje J. Hanssen:
Den 08.02.2023 15:34, skrev Andrew Randrianasulu:
Den 08.02.2023 14:21, skrev Andrew
Randrianasulu:
Den 08.02.2023 02:38,
skrev Andrew Randrianasulu:
Den
08.02.2023
00:52, skrev
Andrew
Randrianasulu:
Den
02.02.2023
01:46, skrev
Terje J.
Hanssen:
.......
but I prepare
myself to test
and use one
method left
with regards
to "Personal
Video
Archiving".
Therefore I
have ordered
two selected,
inexpensive
devices (the
urls here are
just for
English
language):
1) Capture
Card USB HDMI
4K to 1080P
USB-C adapter
(Speedy USB
3.2/3.1/3.0, 60
Hz and 1080p
FHD.)
https://www.turascandinavia.com/en/products/computer/microphone-webcam/webcams/74257
- Fluid
video
recordings
without delays
or distortions
during live
streaming
- Linux
not mentioned,
but assumed
this is a
standard
supported UVC.
OBS and VLC is
mentioned.
Then
the first
item, Hama
Video
Recording
Stick, HDMI 4k
- USB3.x is
received. It
promises:
"Fluid video
recordings
without delays
or distortions
during live
streaming,
thanks to a
picture
frequency of
60 Hz and
1080p with
Full HD.
Transform
high-quality
video cameras
into a
high-resolution
USB web
camera".
I have done a
quick, first
test using my
Sony HDR-FX7E
camera. This
is a HDV 1080i
camcorder with
MPEG-2 video
compression at
25 mbps on
tape
1440x1080,
50i25fps,
4:2:0 and MP2
stereo audio.
Currently it's
cassette deck
is broken and
needs repair
service.
But according
to Steve
Mullen's V1
and FX7
handbook (not
mentioned in
the manual):
1. When the camera is operating, the EIP (Enhanced
Image
Processor)
generates
uncompressed
1440x1080i
with a 4:2:2
color space. Digital 4:2:2 data are output via the HDMI port while
4:2:2 analog
is output via
component-out.
Therefore, you
can record
4:2:2 live HD
video from the
camera without
MPEG-2
compression.
V1 and FX7
provide an
HDMI output
port that
carries
uncompressed
4:2:2, 8-bit,
digital video
plus
dual-channel,
PCM, 16-bit,
48kHz audio
When the
camera is
running.
2.
If you are
playing a
1080i50 or
1080i60 HDV
tape. The
4:2:0 MPEG-2
is decoded and
chroma
up-scaled to a
4:2:2. The
HDMI
chip
downscales
1440 to 1280
while it
up-scales 540
to 720. The
result is
720p50 or
720p60, which
is output via
HDMI.
That
is, I have
tested section
1 now, but see
now that I
didn't test
1440x1080
resolution.
The only
resolution I
got to work at
25 fps was
720x576 (SD),
while HD
1280x720 and
FHD 1920x1080
were set down
to 10 fps and
5 fps
respectively
by the driver
and caused
jumpy
playback.
Did
you tried to
force specific
format
(uncompressed)
before -i
parameter for
ffmpeg?
Just "-framerate
25 -video_size
1920x1080" before
-i as repeated in
the code as
follows, where I
tested to encode
to uncompressed
v210 instead of
ffv1, but with no
change with
regards to low 5
fps:
ffmpeg
-hide_banner -f
v4l2 -framerate 25
-video_size
1920x1080 -i
/dev/video0
-codec:v v210
-codec:a pcm_s16le
-f matroska
1920x1080_v210.mkv
[video4linux2,v4l2
@ 0x55944900e0c0]
The driver changed
the time per frame
from 1/25 to 1/5
I also read a
related issue and
reply to this post
at Superuser,
where 1920x1080
was not supported
on the webcam.
https://superuser.com/questions/1449252/ffmpeg-captures-from-uvc-dev-video0-in-any-resolution-except-for-1920x1080
Also
look out for
usb2 vs usb3
ports?
Shouldn't
capture device
hang on bus
002 (usb 3.0)
root hub,
instead of bus
001 (usb 2.0
root hub),
from lsusb
below?
This may well work
better. I have to
admit that I have
never studied the
difference between
shared usb buses.
My thought was to
try to change the
connected usb
devices, but
tested first the
only free usb3
port (blue) on the
add-on frontpanel
of the
workstation. The
other two usb3
ports are on the
backpanel and are
used for the Asus
blu-ray burner and
8TB Seagate
expansion video
disc.
The other usb
ports on both
panels are usb2
ports, whereof two
for the wireless
keyboard and mouse
on the fronpanel.
What I possibly
already have
mentioned before,
is that sometimes
if I connect a
usb(2) device or
memory to the usb3
port on the
frontpanel, this
cause hang on the
keyboard or mouse.
But this didn't
happend this time
with the USB3
capture stick.
Someone here
that have
suggestion to
possibly
modified
syntax or can
verify that
the driver
doesn't manage
this?
Another
(setup)
problem, there
was no audio
recorded or
heard during
playback!?
In the
following I
list the test
command syntax
I've
collectedf and
tried with
shortened
output (yet
long):
To explain, I
have also
another USB
2.0 Webcam
connected,
beside the new
HDMI-USB3
Videstick.
Verify the
devices,
drivers and
formats:
---------------------------------------
dmesg | tail
[22706.060759]
perf:
interrupt took
too long (2521
> 2500),
lowering
kernel.perf_event_max_sample_rate to 79250
[32105.561575]
perf:
interrupt took
too long (3158
> 3151),
lowering
kernel.perf_event_max_sample_rate to 63250
[40586.477420]
usb 1-5: USB
disconnect,
device number
2
[40599.099612]
usb 1-5: new
high-speed USB
device number
5 using
xhci_hcd
[40599.250960]
usb 1-5: New
USB device
found,
idVendor=534d,
idProduct=2109, bcdDevice=21.00
[40599.250972]
usb 1-5: New
USB device
strings:
Mfr=1,
Product=2,
SerialNumber=0
[40599.250978]
usb 1-5:
Product: USB
Video
[40599.250984]
usb 1-5:
Manufacturer:
MACROSILICON
[40599.252310]
usb 1-5: Found
UVC 1.00
device USB
Video
(534d:2109)
[40599.256234]
hid-generic
0003:534D:2109.0006:
hiddev96,hidraw0: USB HID v1.10 Device [MACROSILICON USB Video] on
usb-0000:00:14.0-5/input4
-----------------------------
lsusb
Bus 002 Device
003: ID
05e3:0732
Genesys Logic,
Inc.
All-in-One
Cardreader
Bus 002 Device
002: ID
0bc2:2038
Seagate RSS
LLC Expansion
HDD
Bus 002 Device
001: ID
1d6b:0003
Linux
Foundation 3.0
root hub
Bus 001 Device
003: ID
046d:c534
Logitech, Inc.
Unifying
Receiver
Bus 001 Device
005: ID
534d:2109
MacroSilicon
USB Video
Bus 001 Device
004: ID
0c45:6340
Microdia
Camera
Bus 001 Device
001: ID
1d6b:0002
Linux
Foundation 2.0
root hub
udevadm info
/dev/video* |
egrep
'DEVNAME|ID_V4L_PRODUCT'
E:
DEVNAME=/dev/video0
E:
ID_V4L_PRODUCT=USB
Video: USB
Video
E:
DEVNAME=/dev/video1
E:
ID_V4L_PRODUCT=USB
Video: USB
Video
E:
DEVNAME=/dev/video2
E:
ID_V4L_PRODUCT=USB
2.0 Camera: HD
720P Webcam
E:
DEVNAME=/dev/video3
E:
ID_V4L_PRODUCT=USB
2.0 Camera: HD
720P Webcam
lsusb | egrep
'Video|Camera'
Bus 001 Device
005: ID
534d:2109
MacroSilicon
USB Video
Bus 001 Device
004: ID
0c45:6340
Microdia
Camera
--------------------
ll /dev/video*
crw-rw----+ 1
root video 81,
0 feb. 7
20:22
/dev/video0
crw-rw----+ 1
root video 81,
1 feb. 7
20:22
/dev/video1
crw-rw----+ 1
root video 81,
2 feb. 7
09:05
/dev/video2
crw-rw----+ 1
root video 81,
3 feb. 7
09:05
/dev/video3
-----------------------
v4l2-ctl
--list-devices
USB 2.0
Camera: HD
720P Webcam
(usb-0000:00:14.0-11):
/dev/video2
/dev/video3
USB Video: USB
Video
(usb-0000:00:14.0-5):
/dev/video0
/dev/video1
-------------------------
ffmpeg -f v4l2
-list_formats
all -i
/dev/video0
ffmpeg
-hide_banner
-f v4l2
-list_formats
all -i
/dev/video0
[video4linux2,v4l2 @ 0x556cf63570c0] Compressed: mjpeg :
Motion-JPEG :
1920x1080
1600x1200
1360x768
1280x1024
1280x960
1280x720
1024x768
800x600
720x576
720x480
640x480
[video4linux2,v4l2 @ 0x556cf63570c0] Raw : yuyv422 :
YUYV 4:2:2 :
1920x1080
1600x1200
1360x768
1280x1024
1280x960
1280x720
1024x768
800x600
720x576
720x480
640x480
/dev/video0:
Immediate exit
requested
ffmpeg
-hide_banner
-f v4l2
-list_formats
all -i
/dev/video1
[video4linux2,v4l2 @ 0x5560c0bc70c0]
ioctl(VIDIOC_G_INPUT): Inappropriate ioctl for device
/dev/video1:
Inappropriate
ioctl for
device
----------------
v4l2-ctl --all
Driver Info
(not using
libv4l2):
Driver
name :
uvcvideo
Card
type : USB
Video: USB
Video
Bus
info :
usb-0000:00:14.0-5
Driver
version:
5.14.21
Capabilities
: 0x84A00001
Video Capture
Metadata Capture
Streaming
Extended Pix Format
Device Capabilities
Device
Caps :
0x04200001
Video Capture
Streaming
Extended Pix Format
Priority: 2
Video input :
0 (Camera 1:
ok)
Format Video
Capture:
Width/Height
: 1920/1080
Pixel
Format :
'MJPG'
Field
: None
Bytes
per Line :
0
Size
Image :
4147200
Colorspace
: sRGB
Transfer
Function :
Rec. 709
YCbCr/HSV
Encoding:
ITU-R 601
Quantization
: Default
(maps to Full
Range)
Flags
:
Crop
Capability
Video Capture:
Bounds :
Left 0, Top 0,
Width 1920,
Height 1080
Default :
Left 0, Top 0,
Width 1920,
Height 1080
Pixel
Aspect: 1/1
Selection:
crop_default,
Left 0, Top 0,
Width 1920,
Height 1080
Selection:
crop_bounds,
Left 0, Top 0,
Width 1920,
Height 1080
Streaming
Parameters
Video Capture:
Capabilities
: timeperframe
Frames
per second:
30.000 (30/1)
Read
buffers :
0
brightness 0x00980900 (int) : min=-128 max=127
step=1
default=-11
value=-11
contrast 0x00980901 (int) : min=0 max=255
step=1
default=148
value=148
saturation 0x00980902 (int) : min=0 max=255
step=1
default=180
value=180
hue 0x00980903 (int) : min=-128 max=127
step=1
default=0
value=0
-----------------
v4l2-ctl
--list-formats-ext
ioctl:
VIDIOC_ENUM_FMT
Index :
0
Type :
Video Capture
Pixel
Format: 'MJPG'
(compressed)
Name :
Motion-JPEG
Size: Discrete 1920x1080
Interval: Discrete 0.017s (60.000 fps)
Interval: Discrete 0.033s (30.000 fps)
Interval: Discrete 0.040s (25.000 fps)
Interval: Discrete 0.050s (20.000 fps)
Interval: Discrete 0.100s (10.000 fps)
.........
Size: Discrete 1280x720
Interval: Discrete 0.017s (60.000 fps)
Interval: Discrete 0.020s (50.000 fps)
Interval: Discrete 0.033s (30.000 fps)
Interval: Discrete 0.050s (20.000 fps)
Interval: Discrete 0.100s (10.000 fps)
......
Size: Discrete 720x576
Interval: Discrete 0.017s (60.000 fps)
Interval: Discrete 0.020s (50.000 fps)
Interval: Discrete 0.033s (30.000 fps)
Interval: Discrete 0.050s (20.000 fps)
Interval: Discrete 0.100s (10.000 fps)
well, it
seems we know by now why
this device was
...unexpensive.
Yes, I have a "90-days open
order" and will start to
search for another, better UVC
video capture device.
The problem is the lack of
definitive specifications,
compared with my proprietary
BMD devices.
it really
seems to report only
5-10 fps at fullHD
uncompresed, anything
bigger is mjpeg ...
Type : Video Capture
Pixel Format: 'YUYV'
Name : YUYV
4:2:2
Size: Discrete
1920x1080
Interval: Discrete 0.200s
(5.000 fps)
This can absolutely not be
what they promote as:
"Fluid
video recordings without
delays or distortions during
live streaming, thanks to a
picture frequency of 60 Hz
and 1080p with Full HD".
I also tried that link's
suggested syntax
ffmpeg -y -t 15 -f video4linux2 -video_size 1920x1080 -input_format nv12 -timestamps abs -use_libv4l2 1 -i /dev/video0 out.mov
but it didn't work for me,
just quitted ffmpeg with
Unrecognized
option 'timestamps'.
Error
splitting the argument
list: Option not found
Looking at ffmpeg man pages at
https://manpages.org/ffmpeg/1
there also is a similar
video4linux2 syntax example
Grab and
record the input of a
video4linux2 device, leave
the frame rate and size as
previously set:
ffmpeg
-f video4linux2
-input_format mjpeg -i
/dev/video0 out.mpeg
- video_size
-
Set the video frame
size. The argument must
be a string in the form
WIDTHxHEIGHT or a valid
size abbreviation.
- pixel_format
-
Select the pixel format
(only valid for raw
video input).
- input_format
-
Set the preferred pixel
format (for raw video)
or a codec name. This
option allows one to
select the input format,
when several are
available.
But what should be set as
input_format in this case?
YUYV
? (lowercase)
ffmpeg
-hide_banner -f video4linux2
-input_format yuyv -i /dev/video0
out.mkv
[video4linux2,v4l2
@ 0x55b25017e0c0] No
such input format: yuyv.
/dev/video0:
Invalid argument
:(
Yes, 'yuyv422' at least not returned any errors, but
just verified 5 fps from the encoded file
ffmpeg -hide_banner -f video4linux2 -input_format
yuyv422 -i /dev/video0 out.mkv
ffprobe -hide_banner out.mkv
Input #0, matroska,webm, from 'out.mkv':
Metadata:
ENCODER : Lavf58.76.100
Duration: 00:00:12.40, start: 0.000000, bitrate: 2
kb/s
Stream #0:0: Video: vp9 (Profile 1), yuv422p(tv,
progressive), 1920x1080, 5 fps, 5 tbr, 1k tbn, 1k tbc
(default)
Metadata:
ENCODER : Lavc58.134.100 libvpx-vp9
DURATION : 00:00:12.400000000
Any idea why the audio:0kB from '-codec:a pcm_s16le'
disappeared in the encoded files?
inxi -GA
Graphics: Device-1: NVIDIA GK208B [GeForce GT 730]
driver: nouveau v: kernel
Device-2: Microdia Camera type: USB driver:
snd-usb-audio,uvcvideo
Device-3: MacroSilicon USB Video type: USB
driver: hid-generic,snd-usb-audio,usbhid,uvcvideo
Display: server: SUSE LINUX 1.20.3 driver:
loaded: nouveau unloaded: fbdev,modesetting,vesa
resolution: 2560x1440~60Hz
OpenGL: renderer: llvmpipe (LLVM 11.0.1 256
bits) v: 4.5 Mesa 21.2.4
Audio: Device-1: Intel 100 Series/C230 Series
Family HD Audio driver: snd_hda_intel
Device-2: NVIDIA GK208 HDMI/DP Audio
driver: snd_hda_intel
Device-3: Microdia Camera type: USB driver:
snd-usb-audio,uvcvideo
Device-4: MacroSilicon USB Video type: USB
driver: hid-generic,snd-usb-audio,usbhid,uvcvideo
Sound Server-1: ALSA v:
k5.14.21-150400.24.41-default running: yes
Sound Server-2: PulseAudio v: 15.0 running:
yes
Sound Server-3: PipeWire v: 0.3.49 running:
yes