Opened 9 months ago

#10896 new defect

libiec61883 dvcpro50 problem

Reported by: AlexCatze Owned by:
Priority: normal Component: undetermined
Version: 6.1 Keywords: dvvideo libiec61883 dvcpro50 ieee1394
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

I am trying to capture video from DVCPRO50 camcorder using libiec61883. For test i am using ffplay because it allows to view video from camcorder in realtime. When the camcorder is in DV or DVCPRO25 mode all works fine and output looks like this:

# ffplay -f iec61883 -v 9 -loglevel 99 -i auto                                                                                       
ffplay version n6.1.1 Copyright (c) 2003-2023 the FFmpeg developers
  built with gcc 13.2.1 (GCC) 20230801
  configuration: --prefix=/usr --disable-debug --disable-static --disable-stripping --enable-amf --enable-avisynth --enable-cuda-llvm --enable-lto --enable-fontconfig --enable-frei0r --enable-gmp --enable-gnutls --enable-gpl --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libdav1d --enable-libdrm --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libharfbuzz --enable-libiec61883 --enable-libjack --enable-libjxl --enable-libmodplug --enable-libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libplacebo --enable-libpulse --enable-librav1e --enable-librsvg --enable-librubberband --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libtheora --enable-libv4l2 --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvpl --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxml2 --enable-libxvid --enable-libzimg --enable-nvdec --enable-nvenc --enable-opencl --enable-opengl --enable-shared --enable-vapoursynth --enable-version3 --enable-vulkan
  libavutil      58. 29.100 / 58. 29.100
  libavcodec     60. 31.102 / 60. 31.102
  libavformat    60. 16.100 / 60. 16.100
  libavdevice    60.  3.100 / 60.  3.100
  libavfilter     9. 12.100 /  9. 12.100
  libswscale      7.  5.100 /  7.  5.100
  libswresample   4. 12.100 /  4. 12.100
  libpostproc    57.  3.100 / 57.  3.100
Initialized opengl renderer.
[iec61883 @ 0x7f3b4c000c80] Probe buffer size limit of 5000000 bytes reached
[iec61883 @ 0x7f3b4c000c80] stream 0: start_time: 0 duration: NOPTS
[iec61883 @ 0x7f3b4c000c80] stream 1: start_time: 0 duration: NOPTS
[iec61883 @ 0x7f3b4c000c80] format: start_time: 0 duration: NOPTS (estimate from bit rate) bitrate=30336 kb/s
Input #0, iec61883, from 'auto':
  Duration: N/A, start: 0.000000, bitrate: 30336 kb/s
  Stream #0:0, 33, 1/60000: Video: dvvideo, 1 reference frame, yuv411p(topleft), 720x576 [SAR 16:15 DAR 4:3], 0/1, 28800 kb/s, 60k fps, 25 tbr, 60k tbn
  Stream #0:1, 33, 1/14112000: Audio: pcm_s16le, 48000 Hz, stereo, s16, 1536 kb/s
detected 4 logical cores
[ffplay_abuffer @ 0x7f3b4c040a00] Setting 'sample_rate' to value '48000'
[ffplay_abuffer @ 0x7f3b4c040a00] Setting 'sample_fmt' to value 's16'
[ffplay_abuffer @ 0x7f3b4c040a00] Setting 'time_base' to value '1/48000'
[ffplay_abuffer @ 0x7f3b4c040a00] Setting 'channel_layout' to value 'stereo'
[ffplay_abuffer @ 0x7f3b4c040a00] tb:1/48000 samplefmt:s16 samplerate:48000 chlayout:stereo
[AVFilterGraph @ 0x7f3b4c0e30c0] query_formats: 2 queried, 2 merged, 1 already done, 0 delayed
Audio frame changed from rate:48000 ch:2 fmt:s16 layout:stereo serial:-1 to rate:48000 ch:2 fmt:s16 layout:stereo serial:1
[ffplay_abuffer @ 0x7f3b4c0e6d40] Setting 'sample_rate' to value '48000'
[ffplay_abuffer @ 0x7f3b4c0e6d40] Setting 'sample_fmt' to value 's16'
[ffplay_abuffer @ 0x7f3b4c0e6d40] Setting 'time_base' to value '1/48000'
[ffplay_abuffer @ 0x7f3b4c0e6d40] Setting 'channel_layout' to value 'stereo'
[ffplay_abuffer @ 0x7f3b4c0e6d40] tb:1/48000 samplefmt:s16 samplerate:48000 chlayout:stereo
[AVFilterGraph @ 0x7f3b4c0e30c0] query_formats: 2 queried, 3 merged, 0 already done, 0 delayed
Video frame changed from size:0x0 format:none serial:-1 to size:720x576 format:yuv411p serial:1
[ffplay_buffer @ 0x7f3b44002140] Setting 'video_size' to value '720x576'
[ffplay_buffer @ 0x7f3b44002140] Setting 'pix_fmt' to value '7'
[ffplay_buffer @ 0x7f3b44002140] Setting 'time_base' to value '1/60000'
[ffplay_buffer @ 0x7f3b44002140] Setting 'pixel_aspect' to value '16/15'
[ffplay_buffer @ 0x7f3b44002140] Setting 'frame_rate' to value '25/1'
[ffplay_buffer @ 0x7f3b44002140] w:720 h:576 pixfmt:yuv411p tb:1/60000 fr:25/1 sar:16/15
[auto_scale_0 @ 0x7f3b44002d80] w:iw h:ih flags:'' interl:0
[ffplay_buffersink @ 0x7f3b44002500] auto-inserting filter 'auto_scale_0' between the filter 'ffplay_buffer' and the filter 'ffplay_buffersink'
[AVFilterGraph @ 0x7f3b440013c0] query_formats: 2 queried, 0 merged, 1 already done, 0 delayed
[auto_scale_0 @ 0x7f3b44002d80] picking yuv420p out of 5 ref:yuv411p alpha:0
[auto_scale_0 @ 0x7f3b44002d80] w:720 h:576 fmt:yuv411p sar:16/15 -> w:720 h:576 fmt:yuv420p sar:16/15 flags:0x00000004
video: delay=0.040 A-V=nan
Created 720x576 texture with SDL_PIXELFORMAT_IYUV.
video: delay=0.040 A-V=-0.025159
    Last message repeated 1 times
video: delay=0.040 A-V=-0.025158 172KB vq= 3656KB sq=    0B f=0/0   
    Last message repeated 1 times
video: delay=0.080 A-V=-0.045120
    Last message repeated 1 times

But when DVCPRO50 mode enabled on the camcorder there are no video present and log looks like this:

# ffplay -f iec61883 -v 9 -loglevel 99 -i auto    
ffplay version n6.1.1 Copyright (c) 2003-2023 the FFmpeg developers
  built with gcc 13.2.1 (GCC) 20230801
  configuration: --prefix=/usr --disable-debug --disable-static --disable-stripping --enable-amf --enable-avisynth --enable-cuda-llvm --enable-lto --enable-fontconfig --enable-frei0r --enable-gmp --enable-gnutls --enable-gpl --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libdav1d --enable-libdrm --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libharfbuzz --enable-libiec61883 --enable-libjack --enable-libjxl --enable-libmodplug --enable-libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libplacebo --enable-libpulse --enable-librav1e --enable-librsvg --enable-librubberband --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libtheora --enable-libv4l2 --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvpl --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxml2 --enable-libxvid --enable-libzimg --enable-nvdec --enable-nvenc --enable-opencl --enable-opengl --enable-shared --enable-vapoursynth --enable-version3 --enable-vulkan
  libavutil      58. 29.100 / 58. 29.100
  libavcodec     60. 31.102 / 60. 31.102
  libavformat    60. 16.100 / 60. 16.100
  libavdevice    60.  3.100 / 60.  3.100
  libavfilter     9. 12.100 /  9. 12.100
  libswscale      7.  5.100 /  7.  5.100
  libswresample   4. 12.100 /  4. 12.100
  libpostproc    57.  3.100 / 57.  3.100
Initialized opengl renderer.
No more input data availableaq=    0KB vq=    0KB sq=    0B f=0/0   
[iec61883 @ 0x7f2adc000c80] stream 0: start_time: 0 duration: NOPTS
[iec61883 @ 0x7f2adc000c80] format: start_time: 0 duration: NOPTS (estimate from bit rate) bitrate=0 kb/s
[iec61883 @ 0x7f2adc000c80] Could not find codec parameters for stream 0 (Video: dvvideo, 1 reference frame, none(topleft)): unspecified size
Consider increasing the value for the 'analyzeduration' (0) and 'probesize' (5000000) options
Input #0, iec61883, from 'auto':
  Duration: N/A, start: 0.000000, bitrate: N/A
  Stream #0:0, 0, 1/60000: Video: dvvideo, 1 reference frame, none(topleft), 60k tbr, 60k tbn
detected 4 logical cores

Summary of the bug:

ffmpeg does not recognizes DVCPRO50 stream over 1394.

How to reproduce:

1)Connect DVCPRO50 device to PC over 1394
2)Run ffmpeg ffplay -f iec61883 -v 9 -loglevel 99 -i auto

Change History (0)

Note: See TracTickets for help on using tickets.