Den 20.06.2025 00:50, skrev Terje J.
Hanssen:
Den 20.06.2025 00:43, skrev Andrew
Randrianasulu:
On 19.06.2025 12:43, Terje J. Hanssen wrote:
Den 18.06.2025 22:17, skrev Andrew
Randrianasulu:
I tried
CinGG-20250430-x86_64.AppImage to record
HDV cam Live video connected via
IEEE-1394 (Sony iLink, Firewire) using
the iec61883 driver.
"For
the IEC
61883 driver,
the compression must be DV."
I
think HDV (mpeg2) was never implemented
there?
I noticed "must be DV", but was not sure how literal
"DV" was meant(?)
According to the ffmpeg man page for iec61883:
The iec61883 capture device supports capturing
from a video device connected via IEEE1394
(FireWire), using libiec61883 and the new
Linux FireWire stack (juju). This is the default
DV/HDV input method in Linux Kernel 2.6.37
and later, since the old FireWire stack was
removed.
Specify the FireWire port to be used as input
file, or "auto" to choose the first port
connected.
https://www.mankier.com/1/ffmpeg-devices#Input_Devices-iec61883
Kernel 2.6.37 was released in Jan 2011.
And according to Phoronix:Linux Has A New Firewire
IEEE-1394 Maintainer - Intends To Maintain Support
To 2029
https://www.phoronix.com/news/Linux-Firewire-New-Maintainer
I
am not sure if I can do anything even if
changes very simple - I have no such
hardware.....
Yeah, I understand that will be difficult.
My legacy SuperMicro workstation had a Firewire port
on its front panel, which now is working with a
Texas Instruments XIO2200A IEEE-1394a-2000
Controller (pci) mounted on the MSI mobo.
libIEC 61883 has not been enabled on my system
ffmpeg-7, but recently I got this bug accepted by
OBS, and iec61883 is just enabled in Factory.
So when it is available for Slowroll, I will try
recording with ffmpeg.
Yeah, got an upgrade of ffmpeg-7 version 7.1.1-1699.6.0.6.pm.1
(Packman) with libiec61883 enabled for openSUSE-Slowroll.
Connected my 1080i HDV camera via Firewire and tested with the
ffmpeg code examples from the documentation
https://www.ffmpeg.org/ffmpeg-devices.html#Examples-3
As seen the connection works straight off, so in that respect also
Cingg Record ought to work:
1) Grab and show the input of a FireWire DV/HDV device.
ffplay -f iec61883 -i auto
libiec61883 error: Failed to get channels available.= 0B
[mpeg2video @ 0x7fc11401d340] Invalid frame dimensions 0x0.
[iec61883 @ 0x7fc114000c80] Could not find codec parameters for
stream 0 (Unknown: none): unknown codec
Consider increasing the value for the 'analyzeduration' (0) and
'probesize' (5000000) options
[iec61883 @ 0x7fc114000c80] Could not find codec parameters for
stream 3 (Unknown: none ([161][0][0][0] / 0x00A1)): unknown codec
Consider increasing the value for the 'analyzeduration' (0) and
'probesize' (5000000) options
[iec61883 @ 0x7fc114000c80] Could not find codec parameters for
stream 4 (Unknown: none ([160][0][0][0] / 0x00A0)): unknown codec
Consider increasing the value for the 'analyzeduration' (0) and
'probesize' (5000000) options
Input #0, iec61883, from 'auto':
Duration: N/A, start: 53.733222, bitrate: 25384 kb/s
Program 100
Stream #0:1: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002),
yuv420p(tv, bt709, top first), 1440x1080 [SAR 4:3 DAR 16:9], 25000
kb/s, 25 fps, 25 tbr, 90k tbn
Side data:
cpb: bitrate max/min/avg: 25000000/0/0 buffer size: 7340032
vbv_delay: N/A
Stream #0:2: Audio: mp2 (mp3float) ([3][0][0][0] / 0x0003), 48000
Hz, stereo, fltp, 384 kb/s
Stream #0:4: Unknown: none ([160][0][0][0] / 0x00A0)
Stream #0:3: Unknown: none ([161][0][0][0] / 0x00A1)
No Program
Stream #0:0: Unknown: none
^Cterje@localhost:~> d= 0 aq= 46KB vq= 3757KB sq= 0B
2) Grab and record the input of a FireWire DV/HDV device,
using a packet buffer of 100000 packets if the source is HDV.
ffmpeg -hide_banner -f iec61883 -i auto -dvbuffer 100000
ffmpeg_fw.m2t
libiec61883 error: Failed to get channels available.
[mpeg2video @ 0x55dcc1538940] Invalid frame dimensions 0x0.
Last message repeated 9 times
[iec61883 @ 0x55dcc151aa00] Could not find codec parameters for
stream 0 (Unknown: none): unknown codec
Consider increasing the value for the 'analyzeduration' (0) and
'probesize' (5000000) options
[iec61883 @ 0x55dcc151aa00] Could not find codec parameters for
stream 3 (Unknown: none ([161][0][0][0] / 0x00A1)): unknown codec
Consider increasing the value for the 'analyzeduration' (0) and
'probesize' (5000000) options
[iec61883 @ 0x55dcc151aa00] Could not find codec parameters for
stream 4 (Unknown: none ([160][0][0][0] / 0x00A0)): unknown codec
Consider increasing the value for the 'analyzeduration' (0) and
'probesize' (5000000) options
Input #0, iec61883, from 'auto':
Duration: N/A, start: 214.629222, bitrate: 25384 kb/s
Program 100
Stream #0:2: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002),
yuv420p(tv, bt709, top first), 1440x1080 [SAR 4:3 DAR 16:9], 25000
kb/s, 25 fps, 25 tbr, 90k tbn
Side data:
cpb: bitrate max/min/avg: 25000000/0/0 buffer size: 7340032
vbv_delay: N/A
Stream #0:1: Audio: mp2 (mp3float) ([3][0][0][0] / 0x0003), 48000
Hz, stereo, fltp, 384 kb/s
Stream #0:4: Unknown: none ([160][0][0][0] / 0x00A0)
Stream #0:3: Unknown: none ([161][0][0][0] / 0x00A1)
No Program
Stream #0:0: Unknown: none
Stream mapping:
Stream #0:2 -> #0:0 (mpeg2video (native) -> mpeg2video
(native))
Stream #0:1 -> #0:1 (mp2 (native) -> mp2 (native))
Press [q] to stop, [?] for help
Output #0, mpegts, to 'ffmpeg_fw.m2t':
Metadata:
encoder : Lavf61.7.100
Stream #0:0: Video: mpeg2video (Main), yuv420p(tv, bt709, top
coded first (swapped)), 1440x1080 [SAR 4:3 DAR 16:9], q=2-31, 200
kb/s, 25 fps, 90k tbn
Metadata:
encoder : Lavc61.19.101 mpeg2video
Side data:
cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0
vbv_delay: N/A
Stream #0:1: Audio: mp2, 48000 Hz, stereo, s16, 384 kb/s
Metadata:
encoder : Lavc61.19.101 mp2
[out#0/mpegts @ 0x55dcc157c1c0] video:6855KiB audio:1485KiB
subtitle:0KiB other streams:0KiB global headers:0KiB muxing
overhead: 5.312824%
frame= 778 fps= 26 q=31.0 Lsize= 8783KiB time=00:00:31.66
bitrate=2271.9kbits/s speed=1.05x
Exiting normally, received signal 2.
As seen from the output above, both 1) ffplay and 2) ffmpeg codes
works, but IMO not streamlined nor optimal:
What surprise me is the warning messages, also reported by other
"Consider increasing the value for the 'analyzeduration' (0) and
'probesize' (5000000) options"
Tried to set both up to value 50M on the input side, while they
still didn't disappear
And next, why the default output bitrate=2271.9kbits/s is much lower
than the standard m2t input 25000 kb/s
I would have expected that the documentation had brought up
something better to grab a standard HDV.m2t file format?