Record HDV cam Live video with IEC61883 failed
I tried CinGG-20250430-x86_64.AppImage to record HDV cam Live video connected via IEEE-1394 (Sony iLink, Firewire) using the iec61883 driver. 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. Related references: https://www.cinelerra-gg.org/git/?p=goodguy/cinelerra.git;a=blob;f=cinelerra... https://www.mail-archive.com/[email protected]/msg05661.html https://www.ffmpeg.org/ffmpeg-devices.html#iec61883
ср, 18 июн. 2025 г., 23:13 Terje J. Hanssen via Cin < [email protected]>:
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 am not sure if I can do anything even if changes very simple - I have no such hardware.....
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.
Related references:
https://www.cinelerra-gg.org/git/?p=goodguy/cinelerra.git;a=blob;f=cinelerra... https://www.mail-archive.com/[email protected]/msg05661.html https://www.ffmpeg.org/ffmpeg-devices.html#iec61883
-- Cin mailing list [email protected] https://lists.cinelerra-gg.org/mailman/listinfo/cin
Den 18.06.2025 22:17, skrev Andrew Randrianasulu:
ср, 18 июн. 2025 г., 23:13 Terje J. Hanssen via Cin <[email protected]>:
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.
Related references: https://www.cinelerra-gg.org/git/?p=goodguy/cinelerra.git;a=blob;f=cinelerra... https://www.mail-archive.com/[email protected]/msg05661.html https://www.ffmpeg.org/ffmpeg-devices.html#iec61883
-- Cin mailing list [email protected] https://lists.cinelerra-gg.org/mailman/listinfo/cin
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 <[email protected]>:
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 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
Related references: https://www.cinelerra-gg.org/git/?p=goodguy/cinelerra.git;a=blob;f=cinelerra... https://www.mail-archive.com/[email protected]/msg05661.html https://www.ffmpeg.org/ffmpeg-devices.html#iec61883
-- Cin mailing list [email protected] https://lists.cinelerra-gg.org/mailman/listinfo/cin
пт, 20 июн. 2025 г., 01:25 Terje J. Hanssen <[email protected]>:
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 < [email protected]>:
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
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. 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... https://www.mail-archive.com/[email protected]/msg05661.html https://www.ffmpeg.org/ffmpeg-devices.html#iec61883
-- Cin mailing list [email protected] https://lists.cinelerra-gg.org/mailman/listinfo/cin
Den 20.06.2025 00:43, skrev Andrew Randrianasulu:
пт, 20 июн. 2025 г., 01:25 Terje J. Hanssen <[email protected]>:
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 <[email protected]>:
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
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... https://www.mail-archive.com/[email protected]/msg05661.html https://www.ffmpeg.org/ffmpeg-devices.html#iec61883
-- Cin mailing list [email protected] https://lists.cinelerra-gg.org/mailman/listinfo/cin
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 <[email protected]>:
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 <[email protected]>:
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... https://www.mail-archive.com/[email protected]/msg05661.html https://www.ffmpeg.org/ffmpeg-devices.html#iec61883
-- Cin mailing list [email protected] https://lists.cinelerra-gg.org/mailman/listinfo/cin
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 <[email protected]>:
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 <[email protected]>:
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?
чт, 26 июн. 2025 г., 18:56 Terje J. Hanssen <[email protected]>:
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 <[email protected]>:
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 < [email protected]>:
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?
try to add -c:v copy -c:a copy to your ffmpeg command, so it will not try to recompress streams?
Den 27.06.2025 09:10, skrev Andrew Randrianasulu:
чт, 26 июн. 2025 г., 18:56 Terje J. Hanssen <[email protected]>:
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 <[email protected]>:
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 <[email protected]>:
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?
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.
participants (2)
-
Andrew Randrianasulu -
Terje J. Hanssen