Centroid tracking using DCV

Ki Rill rill.ki at yahoo.com
Fri Jun 23 02:16:49 UTC 2023


On Wednesday, 15 February 2023 at 17:32:33 UTC, Ferhat Kurtulmuş 
wrote:
> I heard you are not having fun enough with d today.
>
> Do you know you can do things like this with dlang now? After 
> some fiddling with it, my last commits made this possible.
>
> how it looks like: https://www.youtube.com/watch?v=ACC_-TDAtqc
> source code: 
> https://github.com/aferust/oclcv/tree/main/examples/centroidtracking
> DCV: https://github.com/libmir/dcv
>
> Sorry for the potato-quality video. My art director is on 
> vacation.
>
> I am cheating a little with OpenCL since things are not fast 
> enough at the moment.
>
> Hope you like it.
>
> Enjoy!

I am facing strange ffmpeg errors on Windows. It fails to read a 
frame. Do you have any ideas how to solve it?

Here is the error:
```
ffmpeg version 6.0 Copyright (c) 2000-2023 the FFmpeg developers
   built with gcc 12.2.0 (Rev10, Built by MSYS2 project)
   configuration: --prefix=/mingw64 --target-os=mingw32 
--arch=x86_64 --cc=gcc --cxx=g++ --disable-debug 
--disable-stripping --disable-doc --enable-dxva2 --enable-d3d11va 
--enable-fontconfig --enable-frei0r --enable-gmp --enable-gnutls 
--enable-gpl --enable-iconv --enable-libaom --enable-libass 
--enable-libbluray --enable-libcaca --enable-libdav1d 
--enable-libfreetype --enable-libfribidi --enable-libgme 
--enable-libgsm --enable-libmodplug --enable-libmp3lame 
--enable-libopencore_amrnb --enable-libopencore_amrwb 
--enable-libopenjpeg --enable-libopus --enable-libplacebo 
--enable-librsvg --enable-librtmp --enable-libssh 
--enable-libsoxr --enable-libspeex --enable-libsrt 
--enable-libtheora --enable-libvidstab --enable-libvorbis 
--enable-libx264 --enable-libx265 --enable-libxvid 
--enable-libvpx --enable-libwebp --enable-libxml2 
--enable-libzimg --enable-openal --enable-pic --enable-postproc 
--enable-runtime-cpudetect --enable-swresample --enable-version3 
--enable-vulkan --enable-zlib --enable-librav1e 
--enable-libsvtav1 --enable-libmfx --enable-amf --enable-nvenc 
--logfile=config.log --enable-shared
   libavutil      58.  2.100 / 58.  2.100
   libavcodec     60.  3.100 / 60.  3.100
   libavformat    60.  3.100 / 60.  3.100
   libavdevice    60.  1.100 / 60.  1.100
   libavfilter     9.  3.100 /  9.  3.100
   libswscale      7.  1.100 /  7.  1.100
   libswresample   4. 10.100 /  4. 10.100
   libpostproc    57.  1.100 / 57.  1.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'video_640x480.mp4':
   Metadata:
     major_brand     : isom
     minor_version   : 512
     compatible_brands: isomiso2avc1mp41
     encoder         : Lavf59.27.100
   Duration: 00:01:00.01, start: 0.000000, bitrate: 833 kb/s
   Stream #0:0[0x1](und): Video: h264 (High) (avc1 / 0x31637661), 
yuv420p(tv, bt709, progressive), 640x480 [SAR 4:3 DAR 16:9], 822 
kb/s, 30 fps, 30 tbr, 15360 tbn (default)
     Metadata:
       handler_name    : VideoHandler
       vendor_id       : [0][0][0][0]
   Stream #0:1[0x2](und): Audio: aac (LC) (mp4a / 0x6134706D), 
48000 Hz, stereo, fltp, 2 kb/s (default)
     Metadata:
       handler_name    : SoundHandler
       vendor_id       : [0][0][0][0]
Using auto hwaccel type dxva2 with new default device.
Stream mapping:
   Stream #0:0 -> #0:0 (h264 (native) -> rawvideo (native))
Press [q] to stop, [?] for help
configure renderer for GL-31
Output #0, image2pipe, to 'pipe:':
   Metadata:
     major_brand     : isom
     minor_version   : 512
     compatible_brands: isomiso2avc1mp41
     encoder         : Lavf60.3.100
   Stream #0:0(und): Video: rawvideo (RGB[24] / 0x18424752), 
rgb24(pc, gbr/bt709/bt709, progressive), 640x480 [SAR 4:3 DAR 
16:9], q=2-31, 147456 kb/s, 20 fps, 20 tbn (default)
     Metadata:
       handler_name    : VideoHandler
       vendor_id       : [0][0][0][0]
       encoder         : Lavc60.3.100 rawvideo
av_interleaved_write_frame(): Broken pipe time=-577014:32:22.77 
bitrate=  -0.0kbits/s speed=N/A
[out#0/image2pipe @ 000001acc2c41d80] Error muxing a packet
[out#0/image2pipe @ 000001acc2c41d80] Error writing trailer: 
Broken pipe
frame=    1 fps=0.5 q=-0.0 Lsize=       0kB time=00:00:00.50 
bitrate=   0.0kbits/s dup=0 drop=3 speed=0.231x
video:900kB audio:0kB subtitle:0kB other streams:0kB global 
headers:0kB muxing overhead: unknown
Error Program exited with code -1073741819
Conversion failed!
```

Also, it does not work on MacOS as well due to `glfw-d` not 
supporting it. I will try to replace the gui part with Raylib... 
Do you have any better solutions?


More information about the Digitalmars-d-announce mailing list