[Cin] Record HDV cam Live video with IEC61883 failed

Terje J. Hanssen terjejhanssen at gmail.com
Sat Jun 21 17:33:04 CEST 2025



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.
>>>
>>>>
>>>>     According to the manual:
>>>>     The file format must be Quicktime for Linux and video recording
>>>>     must be enabled for it. Click on the wrench to set the video
>>>>     compression.
>>>>     For the IEC 61883 driver, the compression must be DV.
>>>>     https://cinelerra-gg.org/download/CinelerraGG_Manual/Live_Video.html
>>>>
>>>>     So I tried first
>>>>     Shift-P
>>>>     FFMPEG and qt, mp4 audio and dv_pal.qt video
>>>>
>>>>     I also tried
>>>>     FFMPEG mpeg, Audio mpeg_mp2, Video mpeg and mpeg_hdv
>>>>
>>>>     But got these error messages in both cases using default port 0
>>>>     or alternative port 1
>>>>
>>>>     *AVC1394Control::initialize(): couldn't set port: Invalid
>>>>     argument *
>>>>     int FFMPEG::init_encoder(const char*):
>>>>     bad file format: /home/terje/test.mpeg
>>>>
>>>>     rom1394_0 warning: read failed: 0x0000fffff0000414
>>>>     AVC1394Control::initialize(): node 0
>>>>     int FFMPEG::init_encoder(const char*):
>>>>     bad file format: /home/terje/test.mpeg
>>>>
>>>>     A control test of the connection with the legacy 'dvgrab'
>>>>     recorded a m2t file ok.
>>
>>     Add here that dvgrab 3.5 was released 07.09.2009
>>     This version automatically detects when your device is DV or HDV
>>     so you do not have to remember to supply "-f hdv."
>>     https://github.com/ddennedy/dvgrab/blob/master/NEWS
>>     * Automatically detect DV vs. HDV when not using -noavc, -input,
>>     or -stdin.
>>     * Now waits indefinitely for DV or HDV instead of giving up after
>>     10 seconds.
>>     * Bugfixes
>>
>>
>>     Repeat here my short dvgrab test on Leap 15.6, which also has a
>>     possible related "libiec61883 error: Failed to get channels
>>     available."
>>     Yet, robust and worked as follows:
>>
>>     dvgrab -size 0 -autosplit
>>     Found AV/C device with GUID 0x0800460104db475b
>>     *libiec61883 error: Failed to get channels available.*
>>     Waiting for HDV...
>>     Capture Started
>>     ^C"dvgrab-001.m2t":   344.78 MiB 2764 frames timecode 45:85:85.45
>>     date 2025.06.19 22:37:52
>>     Capture Stopped
>>


I found a tip regarding the libiec61883 error back on an old 
linux1394-user list:
https://marc.info/?l=linux1394-user&m=130553260831479&w=2

ls -la /dev/fw*
crw-------  1 root root  241, 0 Jun 21 12:50 fw0
crw-rw----+ 1 root video 241, 1 Jun 21 12:50 fw1

and tried to extend the permissions to

crw-rw----  1 terje video 241, 0 Jun 21 12:50 fw0
crw-rw----+ 1 terje video 241, 1 Jun 21 12:50 fw1

and then the iec error disappeared using dvgrab.

This didn't solve Cingg's record issue using iec61883, but seemingly 
reduced the error output to:

int FFMPEG::init_encoder(const char*):
bad file format: /home/terje/test.qt

---------

"test-mpeg2" was initially used and is still packaged, but seemingly 
doesn't work for me (not really important):

Information for package libiec61883-tools:
------------------------------------------
Repository     : openSUSE-Slowroll-Oss
Name           : libiec61883-tools
Version        : 1.2.0-8.33
Arch           : x86_64
Vendor         : openSUSE
Installed Size : 51.9 KiB
Installed      : Yes
Status         : up-to-date
Source package : libiec61883-1.2.0-8.33.src
Upstream URL   : https://ieee1394.wiki.kernel.org/index.php/Main_Page
Summary        : Command-line utilities for IEC 61883 devices
Description    :
*Utilities to inspect and control IEC 61883 hardware.*


rpm -ql libiec61883-tools
/usr/bin/plugctl
/usr/bin/plugreport
/usr/bin/*test-mpeg2*
/usr/share/doc/packages/libiec61883-tools
/usr/share/doc/packages/libiec61883-tools/AUTHORS
/usr/share/doc/packages/libiec61883-tools/NEWS
/usr/share/doc/packages/libiec61883-tools/README
/usr/share/man/man1/plugctl.1.gz
/usr/share/man/man1/plugreport.1.gz

Other related firewire tools I've seen mentioned are 'gscanbus' and 
'lsfirewire' (linux-firewire-utils), the latter possibly available on 
Deb's and Arch.



>>
>>     ffprobe -hide_banner dvgrab-001.m2t
>>     [mpeg2video @ 0x55dc29972d80] Invalid frame dimensions 0x0.
>>         Last message repeated 7 times
>>     [mpegts @ 0x55dc2996d740] Could not find codec parameters for
>>     stream 2 (Unknown: none ([160][0][0][0] / 0x00A0)): unknown codec
>>     Consider increasing the value for the 'analyzeduration' (0) and
>>     'probesize' (5000000) options
>>     [mpegts @ 0x55dc2996d740] 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
>>     Input #0, mpegts, from 'dvgrab-001.m2t':
>>       Duration: 00:01:50.82, start: 627.021311, bitrate: 26099 kb/s
>>       Program 100
>>       Stream #0:0[0x810]: 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[0x814]: Audio: mp2 (mp3float) ([3][0][0][0] /
>>     0x0003), 48000 Hz, stereo, fltp, 384 kb/s
>>       Stream #0:2[0x815]: Unknown: none ([160][0][0][0] / 0x00A0)
>>       Stream #0:3[0x811]: Unknown: none ([161][0][0][0] / 0x00A1)
>>     Unsupported codec with id 0 for input stream 2
>>     Unsupported codec with id 0 for input stream 3
>>
>>
>>
>> good to know, at least kernel part is working ok then.
>
> localhost:~ # lsmod | grep -E -i "(1394|firewire)"
> firewire_ohci          73728  0
> firewire_core         245760  1 firewire_ohci
> crc_itu_t              12288  1 firewire_core
>
>>
>> ffmpeg's interface seems to support both cases, but demuxing might be 
>> a problem for us .. it must be some cross between iec input and 
>> mpeg2/dvb input IMO ...
>>
>> https://git.ffmpeg.org/gitweb/ffmpeg.git/blob/HEAD:/libavdevice/iec61883.c
>>
>>
>>
>>
>>
>>
>>>>
>>>>
>>>>     Related references:
>>>>     https://www.cinelerra-gg.org/git/?p=goodguy/cinelerra.git;a=blob;f=cinelerra-5.1/cinelerra/avc1394control.C;h=dfde60d96fecf935c89fb7cfd5b766d1f4d9914f;hb=HEAD
>>>>     https://www.mail-archive.com/cin@lists.cinelerra-gg.org/msg05661.html
>>>>     https://www.ffmpeg.org/ffmpeg-devices.html#iec61883
>>>>
>>>>
>>>>
>>>>
>>>>         -- 
>>>>         Cin mailing list
>>>>         Cin at lists.cinelerra-gg.org
>>>>         https://lists.cinelerra-gg.org/mailman/listinfo/cin
>>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.cinelerra-gg.org/pipermail/cin/attachments/20250621/fe3e590e/attachment-0001.htm>


More information about the Cin mailing list