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?