swarm-lab / trackR

trackR - A simple video tracking software for R
https://swarm-lab.github.io/trackR/
GNU General Public License v3.0
30 stars 9 forks source link

What video formats are supported? #10

Closed lukeholman closed 3 years ago

lukeholman commented 5 years ago

Hi there,

I'm just getting started with Trackr. I first tried a .avi video, and it didn't work so I converted it to .mp4 using HandBrake. The video now loads up, but when I try to estimate the background, I get the error

> trackR()

Listening on http://127.0.0.1:7390
Warning: Error in x$readFrame: Could not read the image matrix.
  64: <Anonymous>

I could send the video if you like, but before I figure that out, could I please get some guidance on what video types are supported? I don't know a lot about video encoding formats, but it seems there are loads, and it might be worth discussing how one should format the videos in the documentation.

Cheers!

sjmgarnier commented 5 years ago

@lukeholman Yes, please send a sample video, this would be helpful to diagnose the problem. Also, please provide the following info about your system:

To answer your question briefly, the type of video supported depends entirely on your system. When OpenCV is compiled during the installation of ROpenCVLite, it links with some of the video libraries available on your system, and the ability of trackR to properly open and work with a video depends on what these libraries can deal with.

lukeholman commented 5 years ago

Sure thing, here is a OneDrive link that should hopefully work (it's 210MB):

https://unimelbcloud-my.sharepoint.com/:v:/g/personal/luke_holman_unimelb_edu_au/Eb-y8VnbPltGgEPG_eQagN4BusFslSDiBYSUfvLUyanP1g?e=54hU5X

And my sessionInfo():

> sessionInfo()
R version 3.5.1 (2018-07-02)
Platform: x86_64-apple-darwin15.6.0 (64-bit)
Running under: macOS High Sierra 10.13.6

Matrix products: default
BLAS: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
LAPACK: /Library/Frameworks/R.framework/Versions/3.5/Resources/lib/libRlapack.dylib

locale:
[1] en_AU.UTF-8/en_AU.UTF-8/en_AU.UTF-8/C/en_AU.UTF-8/en_AU.UTF-8

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] dplyr_0.7.8      readr_1.1.1      Rvision_0.3.1    shinyFiles_0.7.2 shinyBS_0.61     shiny_1.2.0      trackR_0.1.0    

loaded via a namespace (and not attached):
 [1] Rcpp_1.0.0           rstudioapi_0.7       bindr_0.1.1          magrittr_1.5         hms_0.4.2            tidyselect_0.2.5     xtable_1.8-3        
 [8] R6_2.3.0             rlang_0.3.0.1        pbapply_1.3-4        tools_3.5.1          parallel_3.5.1       htmltools_0.3.6      assertthat_0.2.0    
[15] yaml_2.2.0           digest_0.6.18        tibble_1.4.2         ROpenCVLite_0.1.34.3 crayon_1.3.4         bindrcpp_0.2.2       purrr_0.2.5         
[22] later_0.7.5          promises_1.0.1       fs_1.2.6             codetools_0.2-15     rsconnect_0.8.8      glue_1.3.0           mime_0.6            
[29] compiler_3.5.1       pillar_1.3.0         jsonlite_1.5         httpuv_1.4.5         pkgconfig_2.0.2     
sjmgarnier commented 5 years ago

@lukeholman I could not reproduce the bug. The video loads and plays perfectly fine on my computer with a similar configuration, and I can estimate the background without problem. What parameters did you use for the background estimation? Have you modified some of the video tab parameters? And finally, when did you install trackR, Rvision and ROpenCVLite (trying to see if I modified the code since then)?

Unrelated to this problem, can you zoom more on the two Petri plates? You will get much better tracking results if you fill up the field of view of the camera.

lukeholman commented 5 years ago

Hi Simon,

I installed everything two days ago, so I should have the newest versions pretty much. I used the default parameters - I just hit the background estimation button without changing the sliders.

About zooming in, my eventual plan is to film loads of dishes at once and then use a bunch of masks, so I wanted to see if the results were good enough at this distance. But thanks for the tip!

On Thu, Nov 22, 2018 at 11:20 PM Simon Garnier notifications@github.com wrote:

@lukeholman https://github.com/lukeholman I could not reproduce the bug. The video loads and plays perfectly fine on my computer with a similar configuration, and I can estimate the background without problem. What parameters did you use for the background estimation? Have you modified some of the video tab parameters? And finally, when did you install trackR, Rvision and ROpenCVLite (trying to see if I modified the code since then)?

Unrelated to this problem, can you zoom more on the two Petri plates? You will get much better tracking results if you fill up the field of view of the camera.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/swarm-lab/trackR/issues/10#issuecomment-441013792, or mute the thread https://github.com/notifications/unsubscribe-auth/AFY-83cRLJQdSoNv4IsEN9SV9eQ99QQoks5uxpabgaJpZM4YudTU .

sjmgarnier commented 5 years ago

@lukeholman I'm afraid I cannot reproduce this bug on my Mac. Can you try the following?

library(Rvision)

my_video <- video("path/to/video")
plot(readFrame(my_video, 1)

Does this open a graphic device and display the first frame of the video?

Regarding zooming in, given the amount of touching and overlapping between the bees, it might be a bit tricky to calibrate the blob detection. Happy to chat with you on the phone about this if you want to.