[FFmpeg-user] Cleaning up codeline to grab and record HDV video using Firewire/libiec61883

Terje J. Hanssen terjejhanssen at gmail.com
Mon Jun 30 00:29:27 EEST 2025


My Sony HDR-FX7E HDV camcorder is connected via Firewire (Sony i.Link) 
to record standard 1080i50 HDV video, 1440x1080, 25 Mbps (.M2T).
I hope to get help to cleanup the codelines to solve the following issues:

1)
Testing first the FFmpeg Devices Documentation's codeline to
"Grab and record the input of a FireWire DV/HDV device, using a packet 
buffer of 100000 packets if the source is HDV"
https://www.ffmpeg.org/ffmpeg-devices.html#Examples-3
results in a highly compressed video with bitrate only 1106 kbits/s

a) Why so when the standard .M2T is 25 Mbps?
b) There are also warnings regarding  streams 0, 3, 4 ?
c) Consider increasing the value for the 'analyzeduration', 'probesize'?

ffmpeg -hide_banner -f iec61883 -i auto -dvbuffer 100000 out.mpg

[mpeg2video @ 0x5570d56ba940] Invalid frame dimensions 0x0.
     Last message repeated 6 times
[iec61883 @ 0x5570d569ca00] 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 @ 0x5570d569ca00] 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 @ 0x5570d569ca00] 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: 1775.229356, 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) -> mpeg1video (native))
   Stream #0:1 -> #0:1 (mp2 (native) -> mp2 (native))
Press [q] to stop, [?] for help
[mpeg @ 0x5570d56e25c0] VBV buffer size not set, using default size of 230KB
If you want the mpeg file to be compliant to some specification
Like DVD, VCD or others, make sure you set the correct buffer size

Output #0, mpeg, to 'out.mpg':
   Metadata:
     encoder         : Lavf61.7.100
   Stream #0:0: Video: mpeg1video, 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 mpeg1video
       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/mpeg @ 0x5570d56ea0c0] video:1278KiB audio:688KiB subtitle:0KiB 
other streams:0KiB global headers:0KiB muxing overhead: 0.773339%
frame=  373 fps= 29 q=24.8 Lsize=    1982KiB time=00:00:14.67 
bitrate=1106.2kbits/s dup=17 drop=0 speed=1.13x
Exiting normally, received signal 2.

===============

2)
a) Adding "-c copy" solves the output bitrate = input bitrate = 25 Mbps
c) Trying to increase the value for the 'analyzeduration' (0) and 
'probesize' are not successful?

ffmpeg -loglevel debug -f iec61883 -analyzeduration 1 -probesize 10M  -i 
auto -dvbuffer 100000 -c copy out6.m2t

ffmpeg version 7.1.1 Copyright (c) 2000-2025 the FFmpeg developers
   built with gcc 14 (SUSE Linux)
   configuration: --prefix=/usr --libdir=/usr/lib64 
--shlibdir=/usr/lib64 --incdir=/usr/include/ffmpeg --extra-cflags='-O2 
-Wall -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -fstack-protector-strong 
-funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection 
-Werror=return-type -flto=auto -ffat-lto-objects -g' --optflags='-O2 
-Wall -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -fstack-protector-strong 
-funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection 
-Werror=return-type -flto=auto -ffat-lto-objects -g' --disable-htmlpages 
--enable-pic --disable-stripping --enable-shared --disable-static 
--enable-gpl --enable-version3 --enable-libsmbclient --disable-openssl 
--enable-gnutls --enable-ladspa --enable-libshaderc --enable-vulkan 
--enable-libplacebo --enable-libaom --enable-libass --enable-libbluray 
--enable-libbs2b --enable-libcdio --enable-libcodec2 --enable-libdav1d 
--enable-libdc1394 --enable-libdrm --enable-libfontconfig 
--enable-libfreetype --enable-libfribidi --enable-libgsm 
--enable-libiec61883 --enable-libjack --enable-libjxl --enable-librist 
--enable-libmp3lame --enable-libmysofa --enable-libopenjpeg 
--enable-libopenmpt --enable-libopenh264-dlopen --enable-libopus 
--enable-libpulse --enable-librav1e --enable-librubberband 
--enable-libsvtav1 --enable-libsoxr --enable-libspeex --enable-libssh 
--enable-libsrt --enable-libtheora --enable-libtwolame 
--enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvpx 
--enable-libwebp --enable-libxml2 --enable-libzimg --enable-libzmq 
--enable-libzvbi --enable-lto --enable-lv2 --enable-libvpl 
--enable-vaapi --enable-vdpau --enable-version3 
--enable-libfdk-aac-dlopen --enable-nonfree --enable-libopencore-amrnb 
--enable-libopencore-amrwb --enable-libvo-amrwbenc --enable-libx264 
--enable-libx265 --enable-libxvid
   libavutil      59. 39.100 / 59. 39.100
   libavcodec     61. 19.101 / 61. 19.101
   libavformat    61.  7.100 / 61.  7.100
   libavdevice    61.  3.100 / 61.  3.100
   libavfilter    10.  4.100 / 10.  4.100
   libswscale      8.  3.100 /  8.  3.100
   libswresample   5.  3.100 /  5.  3.100
   libpostproc    58.  3.100 / 58.  3.100
Splitting the commandline.
Reading option '-loglevel' ... matched as option 'loglevel' (set logging 
level) with argument 'debug'.
Reading option '-f' ... matched as option 'f' (force container format 
(auto-detected otherwise)) with argument 'iec61883'.
Reading option '-analyzeduration' ... matched as AVOption 
'analyzeduration' with argument '1'.
Reading option '-probesize' ... matched as AVOption 'probesize' with 
argument '10M'.
Reading option '-i' ... matched as input url with argument 'auto'.
Reading option '-dvbuffer' ... matched as AVOption 'dvbuffer' with 
argument '100000'.
Reading option '-c' ... matched as option 'c' (select encoder/decoder 
('copy' to copy stream without reencoding)) with argument 'copy'.
Reading option 'out6.m2t' ... matched as output url.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option loglevel (set logging level) with argument debug.
Successfully parsed a group of options.
Parsing a group of options: input url auto.
Applying option f (force container format (auto-detected otherwise)) 
with argument iec61883.
Successfully parsed a group of options.
Opening an input file: auto.
[iec61883 @ 0x555754cd2a40] stream=1 stream_type=0 pid=810 prog_reg_desc=
[iec61883 @ 0x555754cd2a40] stream=2 stream_type=0 pid=814 prog_reg_desc=
[iec61883 @ 0x555754cd2a40] probing stream 2 pp:2500
[iec61883 @ 0x555754cd2a40] Probe with size=1152, packets=1 detected mp3 
with score=1
[iec61883 @ 0x555754cd2a40] stream=1 stream_type=2 pid=810 
prog_reg_desc=TSHV
[iec61883 @ 0x555754cd2a40] stream=2 stream_type=3 pid=814 
prog_reg_desc=TSHV
[iec61883 @ 0x555754cd2a40] stream=3 stream_type=a0 pid=815 
prog_reg_desc=TSHV
[iec61883 @ 0x555754cd2a40] stream=4 stream_type=a1 pid=811 
prog_reg_desc=TSHV
[iec61883 @ 0x555754cd2a40] parser not found for codec none, packets or 
times may be invalid.
[mpeg2video @ 0x555754ceeec0] Invalid frame dimensions 0x0.
[iec61883 @ 0x555754cd2a40] parser not found for codec none, packets or 
times may be invalid.
[iec61883 @ 0x555754cd2a40] max_analyze_duration 1 reached at 24000 
microseconds st:2
[iec61883 @ 0x555754cd2a40] 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 @ 0x555754cd2a40] Could not find codec parameters for stream 1 
(Video: mpeg2video, 1 reference frame ([2][0][0][0] / 0x0002), 
none(tv)): unspecified size
Consider increasing the value for the 'analyzeduration' (1) and 
'probesize' (10000000) options
[iec61883 @ 0x555754cd2a40] Could not find codec parameters for stream 3 
(Unknown: none ([160][0][0][0] / 0x00A0)): unknown codec
Consider increasing the value for the 'analyzeduration' (1) and 
'probesize' (10000000) options
[iec61883 @ 0x555754cd2a40] Could not find codec parameters for stream 4 
(Unknown: none ([161][0][0][0] / 0x00A1)): unknown codec
Consider increasing the value for the 'analyzeduration' (1) and 
'probesize' (10000000) options
Input #0, iec61883, from 'auto':
   Duration: N/A, start: 815.829378, bitrate: 384 kb/s
   Program 100
   Stream #0:1, 1, 1/90000: Video: mpeg2video, 1 reference frame 
([2][0][0][0] / 0x0002), none(tv), 90k tbr, 90k tbn
   Stream #0:2, 3, 1/90000: Audio: mp2 (mp3float) ([3][0][0][0] / 
0x0003), 48000 Hz, stereo, fltp, 384 kb/s
   Stream #0:3, 1, 1/90000: Unknown: none ([160][0][0][0] / 0x00A0)
   Stream #0:4, 1, 1/90000: Unknown: none ([161][0][0][0] / 0x00A1)
   No Program
   Stream #0:0, 0, 1/90000: Unknown: none
Successfully opened the file.
Parsing a group of options: output url out6.m2t.
Applying option c (select encoder/decoder ('copy' to copy stream without 
reencoding)) with argument copy.
Successfully parsed a group of options.
Opening an output file: out6.m2t.
[out#0/mpegts @ 0x555754cfe780] No explicit maps, mapping streams 
automatically...
[vost#0:0/copy @ 0x555754cfcec0] Created video stream from input stream 0:1
[aost#0:1/copy @ 0x555754cfd500] Created audio stream from input stream 0:2
[file @ 0x555754cfda80] Setting default whitelist 'file,crypto,data'
Successfully opened the file.
Stream mapping:
   Stream #0:1 -> #0:0 (copy)
   Stream #0:2 -> #0:1 (copy)
[mpegts @ 0x555754cfe8c0] service 1 using PCR in pid=256, pcr_period=0ms
[mpegts @ 0x555754cfe8c0] muxrate VBR, sdt every 500 ms, pat/pmt every 
100 ms
Output #0, mpegts, to 'out6.m2t':
   Metadata:
     encoder         : Lavf61.7.100
   Stream #0:0, 0, 1/90000: Video: mpeg2video, 1 reference frame 
([2][0][0][0] / 0x0002), none(tv), q=2-31, 90k tbr, 90k tbn
   Stream #0:1, 0, 1/90000: Audio: mp2 ([3][0][0][0] / 0x0003), 48000 
Hz, stereo, fltp, 384 kb/s
[out#0/mpegts @ 0x555754cfe780] Starting thread...
[in#0/iec61883 @ 0x555754cd2780] Starting thread...
Press [q] to stop, [?] for help
frame=    9 fps=0.0 q=-1.0 size=     768KiB time=00:00:00.60 
bitrate=10485.8kbits/s speed= 1.2x
frame=   22 fps= 22 q=-1.0 size=    2304KiB time=00:00:01.10 
bitrate=17096.3kbits/s speed= 1.1x
frame=   34 fps= 23 q=-1.0 size=    3584KiB time=00:00:01.60 
bitrate=18258.8kbits/s speed=1.07x
frame=   47 fps= 23 q=-1.0 size=    5376KiB time=00:00:02.11 
bitrate=20852.4kbits/s speed=1.06x
frame=   59 fps= 24 q=-1.0 size=    6912KiB time=00:00:02.61 
bitrate=21644.9kbits/s speed=1.05x
frame=   71 fps= 24 q=-1.0 size=    8448KiB time=00:00:03.09 
bitrate=22353.4kbits/s speed=1.03x
frame=   84 fps= 24 q=-1.0 size=   10240KiB time=00:00:03.60 
bitrate=23301.7kbits/s speed=1.03x
frame=   97 fps= 24 q=-1.0 size=   11776KiB time=00:00:04.10 
bitrate=23506.1kbits/s speed=1.03x
frame=  109 fps= 24 q=-1.0 size=   13312KiB time=00:00:04.60 
bitrate=23665.8kbits/s speed=1.02x
frame=  122 fps= 24 q=-1.0 size=   14848KiB time=00:00:05.11 
bitrate=23794.0kbits/s speed=1.02x
frame=  134 fps= 24 q=-1.0 size=   16640KiB time=00:00:05.61 
bitrate=24272.6kbits/s speed=1.02x
frame=  146 fps= 24 q=-1.0 size=   18176KiB time=00:00:06.09 
bitrate=24425.5kbits/s speed=1.02x
frame=  159 fps= 24 q=-1.0 size=   19712KiB time=00:00:06.60 
bitrate=24466.8kbits/s speed=1.01x
frame=  172 fps= 25 q=-1.0 size=   21248KiB time=00:00:07.10 
bitrate=24502.2kbits/s speed=1.01x
frame=  184 fps= 25 q=-1.0 size=   22784KiB time=00:00:07.60 
bitrate=24532.9kbits/s speed=1.01x
frame=  197 fps= 25 q=-1.0 size=   24576KiB time=00:00:08.11 
bitrate=24818.4kbits/s speed=1.01x
frame=  209 fps= 25 q=-1.0 size=   26112KiB time=00:00:08.59 
bitrate=24896.4kbits/s speed=1.01x
frame=  221 fps= 25 q=-1.0 size=   27648KiB time=00:00:09.09 
bitrate=24900.2kbits/s speed=1.01x
frame=  234 fps= 25 q=-1.0 size=   29184KiB time=00:00:09.60 
bitrate=24903.7kbits/s speed=1.01x
frame=  247 fps= 25 q=-1.0 size=   30720KiB time=00:00:10.10 
bitrate=24906.8kbits/s speed=1.01x
frame=  259 fps= 25 q=-1.0 size=   32256KiB time=00:00:10.60 
bitrate=24909.6kbits/s speed=1.01x
frame=  272 fps= 25 q=-1.0 size=   34048KiB time=00:00:11.11 
bitrate=25100.9kbits/s speed=1.01x
frame=  284 fps= 25 q=-1.0 size=   35584KiB time=00:00:11.59 
bitrate=25147.0kbits/s speed=1.01x
frame=  296 fps= 25 q=-1.0 size=   37120KiB time=00:00:12.09 
bitrate=25139.5kbits/s speed=1.01x
frame=  309 fps= 25 q=-1.0 size=   38656KiB time=00:00:12.60 
bitrate=25132.5kbits/s speed=1.01x
frame=  322 fps= 25 q=-1.0 size=   40192KiB time=00:00:13.10 
bitrate=25126.1kbits/s speed=1.01x
frame=  334 fps= 25 q=-1.0 size=   41728KiB time=00:00:13.60 
bitrate=25120.2kbits/s speed=1.01x
frame=  347 fps= 25 q=-1.0 size=   43520KiB time=00:00:14.11 
bitrate=25263.3kbits/s speed=1.01x
frame=  359 fps= 25 q=-1.0 size=   45056KiB time=00:00:14.59 
bitrate=25294.6kbits/s speed=1.01x
frame=  371 fps= 25 q=-1.0 size=   46592KiB time=00:00:15.09 
bitrate=25283.6kbits/s speed=1.01x
frame=  384 fps= 25 q=-1.0 size=   48384KiB time=00:00:15.60 
bitrate=25407.8kbits/s speed=1.01x
frame=  397 fps= 25 q=-1.0 size=   49920KiB time=00:00:16.10 
bitrate=25394.0kbits/s speed=1.01x
frame=  409 fps= 25 q=-1.0 size=   51200KiB time=00:00:16.60 
bitrate=25254.7kbits/s speed=1.01x
frame=  422 fps= 25 q=-1.0 size=   52992KiB time=00:00:17.11 
bitrate=25368.8kbits/s speed=1.01x
frame=  434 fps= 25 q=-1.0 size=   54528KiB time=00:00:17.59 
bitrate=25391.8kbits/s speed=   1x
frame=  446 fps= 25 q=-1.0 size=   56064KiB time=00:00:18.09 
bitrate=25380.0kbits/s speed=   1x
frame=  459 fps= 25 q=-1.0 size=   57856KiB time=00:00:18.60 
bitrate=25481.5kbits/s speed=1.01x
frame=  472 fps= 25 q=-1.0 size=   59392KiB time=00:00:19.10 
bitrate=25467.9kbits/s speed=1.01x
frame=  484 fps= 25 q=-1.0 size=   60928KiB time=00:00:19.60 
bitrate=25455.0kbits/s speed=1.01x
frame=  497 fps= 25 q=-1.0 size=   62464KiB time=00:00:20.11 
bitrate=25442.8kbits/s speed=1.01x
frame=  509 fps= 25 q=-1.0 size=   64000KiB time=00:00:20.59 
bitrate=25460.8kbits/s speed=   1x
frame=  521 fps= 25 q=-1.0 size=   65792KiB time=00:00:21.09 
bitrate=25548.4kbits/s speed=   1x
frame=  534 fps= 25 q=-1.0 size=   67328KiB time=00:00:21.60 
bitrate=25534.8kbits/s speed=   1x
frame=  547 fps= 25 q=-1.0 size=   68864KiB time=00:00:22.10 
bitrate=25521.8kbits/s speed=   1x
frame=  559 fps= 25 q=-1.0 size=   70400KiB time=00:00:22.60 
bitrate=25509.4kbits/s speed=   1x
frame=  572 fps= 25 q=-1.0 size=   72192KiB time=00:00:23.11 
bitrate=25588.3kbits/s speed=   1x
frame=  584 fps= 25 q=-1.0 size=   73728KiB time=00:00:23.59 
bitrate=25601.0kbits/s speed=   1x
frame=  596 fps= 25 q=-1.0 size=   75264KiB time=00:00:24.09 
bitrate=25587.8kbits/s speed=   1x
frame=  609 fps= 25 q=-1.0 size=   76800KiB time=00:00:24.60 
bitrate=25575.0kbits/s speed=   1x
frame=  622 fps= 25 q=-1.0 size=   78336KiB time=00:00:25.10 
bitrate=25562.8kbits/s speed=   1x
frame=  634 fps= 25 q=-1.0 size=   79872KiB time=00:00:25.60 
bitrate=25551.1kbits/s speed=   1x
frame=  647 fps= 25 q=-1.0 size=   81664KiB time=00:00:26.08 
bitrate=25643.6kbits/s speed=   1x
frame=  659 fps= 25 q=-1.0 size=   83200KiB time=00:00:26.59 
bitrate=25630.8kbits/s speed=   1x
frame=  671 fps= 25 q=-1.0 size=   84736KiB time=00:00:27.09 
bitrate=25618.4kbits/s speed=   1x
frame=  684 fps= 25 q=-1.0 size=   86272KiB time=00:00:27.60 
bitrate=25606.5kbits/s speed=   1x
frame=  696 fps= 25 q=-1.0 size=   87808KiB time=00:00:28.10 
bitrate=25595.0kbits/s speed=   1x
frame=  709 fps= 25 q=-1.0 size=   89344KiB time=00:00:28.60 
bitrate=25584.0kbits/s speed=   1x
[in#0/iec61883 @ 0x555754cd2780] Terminating thread with return code 0 
(success)
[out#0/mpegts @ 0x555754cfe780] All streams finished
[out#0/mpegts @ 0x555754cfe780] Terminating thread with return code 0 
(success)
[AVIOContext @ 0x555754cf4200] Statistics: 93923108 bytes written, 0 
seeks, 359 writeouts
[out#0/mpegts @ 0x555754cfe780] Output file #0 (out6.m2t):
[out#0/mpegts @ 0x555754cfe780]   Output stream #0:0 (video): 722 
packets muxed (90290112 bytes);
[out#0/mpegts @ 0x555754cfe780]   Output stream #0:1 (audio): 1212 
packets muxed (1396224 bytes);
[out#0/mpegts @ 0x555754cfe780]   Total: 1934 packets (91686336 bytes) muxed
[out#0/mpegts @ 0x555754cfe780] video:88174KiB audio:1364KiB 
subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: 
2.439591%
frame=  722 fps= 25 q=-1.0 Lsize=   91722KiB time=00:00:29.08 
bitrate=25831.4kbits/s speed=   1x
[in#0/iec61883 @ 0x555754cd2780] Input file #0 (auto):
[in#0/iec61883 @ 0x555754cd2780]   Input stream #0:1 (video): 727 
packets read (90852850 bytes);
[in#0/iec61883 @ 0x555754cd2780]   Input stream #0:2 (audio): 1213 
packets read (1397376 bytes);
[in#0/iec61883 @ 0x555754cd2780]   Total: 1940 packets (92250226 bytes) 
demuxed
Exiting normally, received signal 2.





More information about the ffmpeg-user mailing list