DALI: Variable frame rate bug

Hi, I am getting an the following error for a video that Dali is saying has variable frame rate, but it does not. Is this indicative of something else?

(Also, unsure how to post the mp4 for ease of testing. Let me know if you would like that.)

Traceback (most recent call last):
  File "video_dataset.py", line 63, in <module>
    dali_iter = get_loader(opt, 'train')
  File "video_dataset.py", line 55, in get_loader
    pipes[0].build()
  File "/private/home/cinjon/anaconda3/envs/onoff/lib/python3.7/site-packages/nvidia/dali/pipeline.py", line 305, in build
    self._pipe.Build(self._names_and_devices)
RuntimeError: [/opt/dali/dali/pipeline/operators/reader/video_reader_op.h:60] [/opt/dali/dali/pipeline/operators/reader/loader/video_loader.cc:222] Assert on "file.frame_base_.num == 1" failed: Variable frame rate videos are unsupported. Check failed for file: /checkpoint/cinjon/spaceofmotion/sep052019/vids/-YxFfTFfRmo-_.mp4
Stacktrace (29 entries):
[frame 0]: /private/home/cinjon/anaconda3/envs/onoff/lib/python3.7/site-packages/nvidia/dali/libdali.so(+0xc716e) [0x7f451f86416e]
[frame 1]: /private/home/cinjon/anaconda3/envs/onoff/lib/python3.7/site-packages/nvidia/dali/libdali.so(+0x18a8f8) [0x7f451f9278f8]
[frame 2]: /private/home/cinjon/anaconda3/envs/onoff/lib/python3.7/site-packages/nvidia/dali/libdali.so(+0x1b7ed8) [0x7f451f954ed8]
[frame 3]: /private/home/cinjon/anaconda3/envs/onoff/lib/python3.7/site-packages/nvidia/dali/libdali.so(+0x1b8dc2) [0x7f451f955dc2]
[frame 4]: /private/home/cinjon/anaconda3/envs/onoff/lib/python3.7/site-packages/nvidia/dali/libdali.so(std::_Function_handler<std::unique_ptr<dali::OperatorBase, std::default_delete<dali::OperatorBase> > (dali::OpSpec const&), std::unique_ptr<dali::OperatorBase, std::default_delete<dali::OperatorBase> > (*)(dali::OpSpec const&)>::_M_invoke(std::_Any_data const&, dali::OpSpec const&)+0xc) [0x7f451f8c2d0c]
[frame 5]: /private/home/cinjon/anaconda3/envs/onoff/lib/python3.7/site-packages/nvidia/dali/libdali.so(+0x1f2384) [0x7f451f98f384]
[frame 6]: /private/home/cinjon/anaconda3/envs/onoff/lib/python3.7/site-packages/nvidia/dali/libdali.so(dali::InstantiateOperator(dali::OpSpec const&)+0x34e) [0x7f451f98e7be]
[frame 7]: /private/home/cinjon/anaconda3/envs/onoff/lib/python3.7/site-packages/nvidia/dali/libdali.so(dali::OpGraph::InstantiateOperators()+0xb9) [0x7f451f88a679]
[frame 8]: /private/home/cinjon/anaconda3/envs/onoff/lib/python3.7/site-packages/nvidia/dali/libdali.so(dali::Pipeline::Build(std::vector<std::pair<std::string, std::string>, std::allocator<std::pair<std::string, std::string> > >)+0xd68) [0x7f451f9fe868]
[frame 9]: /private/home/cinjon/anaconda3/envs/onoff/lib/python3.7/site-packages/nvidia/dali/backend_impl.cpython-37m-x86_64-linux-gnu.so(+0x2ceff) [0x7f4524d08eff]
[frame 10]: /private/home/cinjon/anaconda3/envs/onoff/lib/python3.7/site-packages/nvidia/dali/backend_impl.cpython-37m-x86_64-linux-gnu.so(+0x1ff23) [0x7f4524cfbf23]
[frame 11]: python(_PyMethodDef_RawFastCallKeywords+0x254) [0x56540b8b3744]
[frame 12]: python(_PyCFunction_FastCallKeywords+0x21) [0x56540b8b3861]
[frame 13]: python(_PyEval_EvalFrameDefault+0x52f8) [0x56540b91f6e8]
[frame 14]: python(_PyFunction_FastCallKeywords+0xfb) [0x56540b8b2ccb]
[frame 15]: python(_PyEval_EvalFrameDefault+0x6a3) [0x56540b91aa93]
[frame 16]: python(_PyEval_EvalCodeWithName+0xac9) [0x56540b863d09]
[frame 17]: python(_PyFunction_FastCallKeywords+0x387) [0x56540b8b2f57]
[frame 18]: python(_PyEval_EvalFrameDefault+0x416) [0x56540b91a806]
[frame 19]: python(_PyEval_EvalCodeWithName+0x2f9) [0x56540b863539]
[frame 20]: python(PyEval_EvalCodeEx+0x44) [0x56540b864424]
[frame 21]: python(PyEval_EvalCode+0x1c) [0x56540b86444c]
[frame 22]: python(+0x22ab74) [0x56540b979b74]
[frame 23]: python(PyRun_FileExFlags+0xa1) [0x56540b983eb1]
[frame 24]: python(PyRun_SimpleFileExFlags+0x1c3) [0x56540b9840a3]
[frame 25]: python(+0x236195) [0x56540b985195]
[frame 26]: python(_Py_UnixMain+0x3c) [0x56540b9852bc]
[frame 27]: /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xe7) [0x7f45ee77bb97]
[frame 28]: python(+0x1db062) [0x56540b92a062]

Stacktrace (28 entries):
[frame 0]: /private/home/cinjon/anaconda3/envs/onoff/lib/python3.7/site-packages/nvidia/dali/libdali.so(+0xc716e) [0x7f451f86416e]
[frame 1]: /private/home/cinjon/anaconda3/envs/onoff/lib/python3.7/site-packages/nvidia/dali/libdali.so(+0x1b7c3c) [0x7f451f954c3c]
[frame 2]: /private/home/cinjon/anaconda3/envs/onoff/lib/python3.7/site-packages/nvidia/dali/libdali.so(+0x1b8dc2) [0x7f451f955dc2]
[frame 3]: /private/home/cinjon/anaconda3/envs/onoff/lib/python3.7/site-packages/nvidia/dali/libdali.so(std::_Function_handler<std::unique_ptr<dali::OperatorBase, std::default_delete<dali::OperatorBase> > (dali::OpSpec const&), std::unique_ptr<dali::OperatorBase, std::default_delete<dali::OperatorBase> > (*)(dali::OpSpec const&)>::_M_invoke(std::_Any_data const&, dali::OpSpec const&)+0xc) [0x7f451f8c2d0c]
[frame 4]: /private/home/cinjon/anaconda3/envs/onoff/lib/python3.7/site-packages/nvidia/dali/libdali.so(+0x1f2384) [0x7f451f98f384]
[frame 5]: /private/home/cinjon/anaconda3/envs/onoff/lib/python3.7/site-packages/nvidia/dali/libdali.so(dali::InstantiateOperator(dali::OpSpec const&)+0x34e) [0x7f451f98e7be]
[frame 6]: /private/home/cinjon/anaconda3/envs/onoff/lib/python3.7/site-packages/nvidia/dali/libdali.so(dali::OpGraph::InstantiateOperators()+0xb9) [0x7f451f88a679]
[frame 7]: /private/home/cinjon/anaconda3/envs/onoff/lib/python3.7/site-packages/nvidia/dali/libdali.so(dali::Pipeline::Build(std::vector<std::pair<std::string, std::string>, std::allocator<std::pair<std::string, std::string> > >)+0xd68) [0x7f451f9fe868]
[frame 8]: /private/home/cinjon/anaconda3/envs/onoff/lib/python3.7/site-packages/nvidia/dali/backend_impl.cpython-37m-x86_64-linux-gnu.so(+0x2ceff) [0x7f4524d08eff]
[frame 9]: /private/home/cinjon/anaconda3/envs/onoff/lib/python3.7/site-packages/nvidia/dali/backend_impl.cpython-37m-x86_64-linux-gnu.so(+0x1ff23) [0x7f4524cfbf23]
[frame 10]: python(_PyMethodDef_RawFastCallKeywords+0x254) [0x56540b8b3744]
[frame 11]: python(_PyCFunction_FastCallKeywords+0x21) [0x56540b8b3861]   
[frame 12]: python(_PyEval_EvalFrameDefault+0x52f8) [0x56540b91f6e8]
[frame 13]: python(_PyFunction_FastCallKeywords+0xfb) [0x56540b8b2ccb]
[frame 14]: python(_PyEval_EvalFrameDefault+0x6a3) [0x56540b91aa93]
[frame 15]: python(_PyEval_EvalCodeWithName+0xac9) [0x56540b863d09]
[frame 16]: python(_PyFunction_FastCallKeywords+0x387) [0x56540b8b2f57]   
[frame 17]: python(_PyEval_EvalFrameDefault+0x416) [0x56540b91a806]
[frame 18]: python(_PyEval_EvalCodeWithName+0x2f9) [0x56540b863539]
[frame 19]: python(PyEval_EvalCodeEx+0x44) [0x56540b864424]
[frame 20]: python(PyEval_EvalCode+0x1c) [0x56540b86444c]
[frame 21]: python(+0x22ab74) [0x56540b979b74]
[frame 22]: python(PyRun_FileExFlags+0xa1) [0x56540b983eb1]
[frame 23]: python(PyRun_SimpleFileExFlags+0x1c3) [0x56540b9840a3]
[frame 24]: python(+0x236195) [0x56540b985195]
[frame 25]: python(_Py_UnixMain+0x3c) [0x56540b9852bc]
[frame 26]: /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xe7) [0x7f45ee77bb97]
[frame 27]: python(+0x1db062) [0x56540b92a062]

About this issue

  • Original URL
  • State: closed
  • Created 5 years ago
  • Comments: 16 (9 by maintainers)

Most upvoted comments

@cinjon Try using the newer version of DALI, I fixed this issue recently. If you still face an issue, point me to where you got the video from or maybe upload it to google drive, github or something. If you do build DALI yourself then its very easy to disable the check by removing the below lines. https://github.com/NVIDIA/DALI/blob/703b2f5df7b31892530d4ef4411b91e752b4978e/dali/pipeline/operators/reader/loader/video_loader.cc#L272-L274

@JanuszL I’ll add it to my to-do.

FYI. Building a nightly mode as of today (nvidia.dali.__version__ returns 0.16.0dev.20191023) worked for me with video @29.97. Also, I could find nvidia.dali.ops under [path-to-python-packages]/nvidia/dali/ops.py.

Hi, I had 0.14.0 installed, which was released more recently than when that PR (#1242) was accepted. It seems like that should have addressed it though because the frame rate according to ffmpeg is 30000/1001.

(I just tried to use the nightly-build to see if that helped but hit a snag because import nvidia.dali.ops as ops isn’t found.)