[Cin] Record HDV cam Live video with IEC61883 failed

Terje J. Hanssen terjejhanssen at gmail.com
Fri Jun 27 10:50:35 CEST 2025



Den 27.06.2025 09:10, skrev Andrew Randrianasulu:
>
>
> чт, 26 июн. 2025 г., 18:56 Terje J. Hanssen <terjejhanssen at gmail.com>:
>
>
>
>     Den 20.06.2025 00:50, skrev Terje J. Hanssen:
>>
>>
>>     Den 20.06.2025 00:43, skrev Andrew Randrianasulu:
>>>
>>>
>>>     пт, 20 июн. 2025 г., 01:25 Terje J. Hanssen
>>>     <terjejhanssen at gmail.com>:
>>>
>>>
>>>
>>>         On 19.06.2025 12:43, Terje J. Hanssen wrote:
>>>>
>>>>
>>>>         Den 18.06.2025 22:17, skrev Andrew Randrianasulu:
>>>>>
>>>>>
>>>>>         ср, 18 июн. 2025 г., 23:13 Terje J. Hanssen via Cin
>>>>>         <cin at lists.cinelerra-gg.org>:
>>>>>
>>>>>             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 at 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?
>
>
>
> try to add -c:v copy -c:a copy to your ffmpeg command, so it will not 
> try to recompress streams?
>

Yes, I actually did afterwards with "-c copy" and that fixed (locked) 
the output bitrate=input bitrate.
Also I had to re-change the /dev/fw* permissions to avoid the 
"libiec61883 error: Failed to get channels available.<"
Obviously they automatic change back to "root node" permissions each 
time (reboot, reconnection or etc).
I also tried suggestions on a Jellyfin forum and partly on Stack 
Overlow, but that didn't remove the disturbing warnings
"Consider increasing the value for the 'analyzeduration' (0) and 
'probesize' (5000000) options".

ffmpeg -hide_banner -f iec61883 -analyzeduration 1 -probesize 10M -i 
auto -dvbuffer 100000 -c copy out4.m2t

[iec61883 @ 0x5589014f9a40] Could not find codec parameters for stream 0 
(Unknown: none): unknown codec
Consider increasing the value for the 'analyzeduration' (1) and 
'probesize' (10000000) options
[iec61883 @ 0x5589014f9a40] Could not find codec parameters for stream 1 
(Unknown: none): unknown codec
Consider increasing the value for the 'analyzeduration' (1) and 
'probesize' (10000000) options
[iec61883 @ 0x5589014f9a40] Could not find codec parameters for stream 2 
(Video: mpeg2video ([2][0][0][0] / 0x0002), none): unspecified size
Consider increasing the value for the 'analyzeduration' (1) and 
'probesize' (10000000) options
[iec61883 @ 0x5589014f9a40] Could not find codec parameters for stream 3 
(Unknown: none): unknown codec
Consider increasing the value for the 'analyzeduration' (1) and 
'probesize' (10000000) options

Input #0, iec61883, from 'auto':
   Duration: N/A, start: 2742.717356, bitrate: 384 kb/s
   Program 100
   Stream #0:2: Video: mpeg2video ([2][0][0][0] / 0x0002), none, 90k 
tbr, 90k tbn
   Stream #0:4: Audio: mp2 (mp3float) ([3][0][0][0] / 0x0003), 48000 Hz, 
stereo, fltp, 384 kb/s
   Stream #0:3: Unknown: none
   Stream #0:1: Unknown: none
   No Program
   Stream #0:0: Unknown: none
Stream mapping:
   Stream #0:2 -> #0:0 (copy)
   Stream #0:4 -> #0:1 (copy)

Output #0, mpegts, to 'out4.m2t':
   Metadata:
     encoder         : Lavf61.7.100
   Stream #0:0: Video: mpeg2video ([2][0][0][0] / 0x0002), none, q=2-31, 
90k tbr, 90k tbn
   Stream #0:1: Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, 
fltp, 384 kb/s
Press [q] to stop, [?] for help
[out#0/mpegts @ 0x558901526a80] video:53471KiB audio:825KiB 
subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: 
2.437727%
frame=  438 fps= 25 q=-1.0 Lsize=   55620KiB time=00:00:17.59 
bitrate=25900.1kbits/s speed=   1x
Exiting normally, received signal 2.



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.cinelerra-gg.org/pipermail/cin/attachments/20250627/dce99841/attachment-0001.htm>


More information about the Cin mailing list