[bug] meshroom (linux) release does not work with h264 video
Describe the bug I have installed the AliceVision Meshroom release on Ubuntu 20.10. I have the cuda stuff installed, that works, I can depthmap this is fine.
What doesn't not work is video. I notice in strace the imageio ffmpeg and/or gstreamer shared objects cannot be found. Is this intentional? I also notice that the October release does not automatically select the KeyFrame node, but maybe that what something not in Meshroom-2020.1.0 for Linux.
Is there a log message?
For unsupported mp4 files you would get something like:
[ WARN:0] global D:\release\vcpkg\buildtrees\opencv4\src\4.3.0-0c6047baf6.clean\modules\videoio\src\cap_msmf.cpp (681) CvCapture_MSMF::initStream Failed to set mediaType (stream 0, (0x0 @ 1) MFVideoFormat_RGB32(unsupported media type) [error] Cannot read media first frame ...
@natowi
mio@aspire7:~/Downloads/Meshroom-2020.1.0/aliceVision/bin$ LD_LIBRARY_PATH=${ALICEVISION_INSTALL}/lib:${ALICEVISION_INSTALL}/aliceVision/lib:$LD_LIBRARY_PATH ./aliceVision_utils_keyframeSelection --mediaPaths "/home/mio/MeshroomProjecten/verdeliet/VID_20201031_123053.mp4" --sensorDbPath "/home/mio/Downloads/Meshroom-2020.1.0/aliceVision/share/aliceVision/cameraSensors.db" --voctreePath "/home/mio/Downloads/Meshroom-2020.1.0/aliceVision/share/aliceVision/vlfeat_K80L3.SIFT.tree" --useSparseDistanceSelection True --useSharpnessSelection True --sparseDistMaxScore 100.0 --sharpnessPreset normal --sharpSubset 4 --minFrameStep 5 --maxFrameStep 36 --maxNbOutFrame 0 --verboseLevel info --outputFolder "/home/mio/MeshroomProjecten/verdeliet/MeshroomCache/KeyframeSelection/956fdae7d0d10d1ba617ef5e2fbad62ed5ea2419" Program called with the following parameters:
- brands = = [] (default)
- frameOffsets = Unknown Type "St6vectorIjSaIjEE" (default)
- maxFrameStep = Unknown Type "j"
- maxNbOutFrame = Unknown Type "j"
- mediaPaths = = [/home/mio/MeshroomProjecten/verdeliet/VID_20201031_123053.mp4]
- minFrameStep = Unknown Type "j"
- mmFocals = Unknown Type "St6vectorIfSaIfEE" (default)
- models = = [] (default)
- outputFolder = "/home/mio/MeshroomProjecten/verdeliet/MeshroomCache/KeyframeSelection/956fdae7d0d10d1ba617ef5e2fbad62ed5ea2419"
- pxFocals = Unknown Type "St6vectorIfSaIfEE" (default)
- sensorDbPath = "/home/mio/Downloads/Meshroom-2020.1.0/aliceVision/share/aliceVision/cameraSensors.db"
- sharpSubset = Unknown Type "j"
- sharpnessPreset = "normal"
- sparseDistMaxScore = 100
- useSharpnessSelection = 1
- useSparseDistanceSelection = 1
- verboseLevel = "info"
- voctreePath = "/home/mio/Downloads/Meshroom-2020.1.0/aliceVision/share/aliceVision/vlfeat_K80L3.SIFT.tree"
[23:18:32.666273][info] Single camera [23:18:32.666536][info] camera: /home/mio/MeshroomProjecten/verdeliet/VID_20201031_123053.mp4 - brand: - model: - focal (mm): 0 - focal (px): 0 - frame offset: 0
[23:18:32.844793][info] vocabulary tree loaded with : - 3 levels - 80 branching factor
[23:18:32.890686][info] Supported CUDA-Enabled GPU detected. [23:18:32.893375][warning] Unable to open the video : /home/mio/MeshroomProjecten/verdeliet/VID_20201031_123053.mp4 [23:18:32.901232][fatal] Unable to open the video : /home/mio/MeshroomProjecten/verdeliet/VID_20201031_123053.mp4 mio@aspire7:~/Downloads/Meshroom-2020.1.0/aliceVision/bin$ ls -l /home/mio/MeshroomProjecten/verdeliet/VID_20201031_123053.mp4 -rw-r--r-- 1 mio mio 394865733 jan 5 22:58 /home/mio/MeshroomProjecten/verdeliet/VID_20201031_123053.mp4
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
This issue is closed due to inactivity. Feel free to re-open if new information is available.
@skinkie Did you ever get it working? I have 2023.3.0 installed on Ubuntu 22.04 and only get "unable to open video" from the keyframeselection. Its an .mp4 with H.264
- commandLine: aliceVision_keyframeSelection --inputPaths "/tmp/FoamPlane.MP4" --sensorDbPath "/home/oliver/Downloads/Meshroom-2023.3.0-linux/Meshroom-2023.3.0/aliceVision/share/aliceVision/cameraSensors.db" --useSmartSelection True --pxDisplacement 10.0 --minNbOutFrames 10 --maxNbOutFrames 2000 --rescaledWidthSharpness 720 --rescaledWidthFlow 720 --sharpnessWindowSize 200 --flowCellSize 90 --minBlockSize 10 --renameKeyframes False --outputExtension jpg --exportScores False --exportFlowVisualisation False --flowVisualisationOnly False --skipSharpnessComputation False --skipSelection False --verboseLevel trace --outputFolder "/tmp/MeshroomCache/KeyframeSelection/2788bbbd4a7fa7683411826fc0bb52d8a16a38a9" --outputSfMDataKeyframes "/tmp/MeshroomCache/KeyframeSelection/2788bbbd4a7fa7683411826fc0bb52d8a16a38a9/keyframes.sfm" --outputSfMDataFrames "/tmp/MeshroomCache/KeyframeSelection/2788bbbd4a7fa7683411826fc0bb52d8a16a38a9/frames.sfm"
- logFile: /tmp/MeshroomCache/KeyframeSelection/2788bbbd4a7fa7683411826fc0bb52d8a16a38a9/log
ERROR:root:Error on node computation: Error on node "KeyframeSelection_1":
Log:
[2024-06-21 10:03:48.589193] [0x00007ed46e2a4000] [trace] Embedded OCIO configuration file: '/home/oliver/Downloads/Meshroom-2023.3.0-linux/Meshroom-2023.3.0/aliceVision/share/aliceVision/config.ocio' found.
Program called with the following parameters:
* brands = = [] (default)
* csvFilename = "scores.csv" (default)
* exportFlowVisualisation = 0
* exportScores = 0
* exportSelectedFrames = 0 (default)
* flowCellSize = 90
* flowVisualisationOnly = 0
* inputPaths = = [/tmp/FoamPlane.MP4]
* maskPaths = = [] (default)
* maxCoresAvailable = Unknown Type "j" (default)
* maxFrameStep = Unknown Type "j" (default)
* maxMemoryAvailable = 18446744073709551615 (default)
* maxNbOutFrames = Unknown Type "j"
* minBlockSize = 10
* minFrameStep = Unknown Type "j" (default)
* minNbOutFrames = Unknown Type "j"
* mmFocals = Unknown Type "St6vectorIfSaIfEE" (default)
* models = = [] (default)
* outputExtension = "jpg"
* outputFolder = "/tmp/MeshroomCache/KeyframeSelection/2788bbbd4a7fa7683411826fc0bb52d8a16a38a9"
* outputSfMDataFrames = "/tmp/MeshroomCache/KeyframeSelection/2788bbbd4a7fa7683411826fc0bb52d8a16a38a9/frames.sfm"
* outputSfMDataKeyframes = "/tmp/MeshroomCache/KeyframeSelection/2788bbbd4a7fa7683411826fc0bb52d8a16a38a9/keyframes.sfm"
* pxDisplacement = 10
* renameKeyframes = 0
* rescaledWidthFlow = 720
* rescaledWidthSharpness = 720
* sensorDbPath = "/home/oliver/Downloads/Meshroom-2023.3.0-linux/Meshroom-2023.3.0/aliceVision/share/aliceVision/cameraSensors.db"
* sharpnessWindowSize = 200
* skipSelection = 0
* skipSharpnessComputation = 0
* storageDataType = Unknown Type "N11aliceVision5image16EStorageDataTypeE" (default)
* useSmartSelection = 1
* verboseLevel = "trace"
Hardware :
Detected core count : 4
OpenMP will use 4 cores
Detected available memory : 13602 Mo
[10:03:48.590637][info] Single camera
[10:03:48.590678][info] Camera: /tmp/FoamPlane.MP4
- brand:
- model:
- focal (mm): 0
[10:03:48.599303][warning] Unable to open the video : /tmp/FoamPlane.MP4
[10:03:48.599664][fatal] Unable to open the video : /tmp/FoamPlane.MP4
Please reopen this one, problem is not solved, see also https://github.com/alicevision/meshroom/issues/1291
Please reopen this one, problem is not solved, see also #1291
The issue is indeed not solved, but I think it is a packaging issue.
The issue is indeed not solved, but I think it is a packaging issue.
If thats true, it has persisted for at least 3 years over several Linux distributions (Fedora, Ubuntu, etc.)
See https://github.com/alicevision/Meshroom/issues/2285#issuecomment-2285901754
This is fixed by https://github.com/alicevision/AliceVision/pull/1784, which will be part of the next release.