Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How to make a video recording on a server #619

Open
ZhengmaoHe opened this issue Oct 27, 2024 · 12 comments
Open

How to make a video recording on a server #619

ZhengmaoHe opened this issue Oct 27, 2024 · 12 comments

Comments

@ZhengmaoHe
Copy link

Hi Professor,

I'm trying to do screen recording on a server using the python interface, which seems to rely on raisimUnity, but when I run raisimUnity, it prompts a Segmentation fault (core dumped) and ends the process.

My GPU support vulkan, and I have installed minizip and ffmpeg:

VkPhysicalDeviceProperties:
---------------------------
	apiVersion     = 4206834 (1.3.242)
	driverVersion  = 2246066368 (0x85e040c0)
	vendorID       = 0x10de
	deviceID       = 0x2704
	deviceType     = PHYSICAL_DEVICE_TYPE_DISCRETE_GPU
	deviceName     = NVIDIA GeForce RTX 4080

~$ ffmpeg -version
ffmpeg version 4.2.7-0ubuntu0.1 Copyright (c) 2000-2022 the FFmpeg developers
built with gcc 9 (Ubuntu 9.4.0-1ubuntu1~20.04.1)
configuration: --prefix=/usr --extra-version=0ubuntu0.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-nvenc --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
libavutil      56. 31.100 / 56. 31.100
libavcodec     58. 54.100 / 58. 54.100
libavformat    58. 29.100 / 58. 29.100
libavdevice    58.  8.100 / 58.  8.100
libavfilter     7. 57.100 /  7. 57.100
libavresample   4.  0.  0 /  4.  0.  0
libswscale      5.  5.100 /  5.  5.100
libswresample   3.  5.100 /  3.  5.100
libpostproc    55.  5.100 / 55.  5.100

~$ dpkg -l | grep minizip
ii  libminizip1:amd64                      1.1-8build1                           amd64        compression library - minizip library
ii  minizip                                1.1-8build1                           amd64        compression library - minizip tools

The output of raisimUnity

$ ./raisimUnity.x86_64 
[UnityMemory] Configuration Parameters - Can be set up in boot.config
    "memorysetup-bucket-allocator-granularity=16"
    "memorysetup-bucket-allocator-bucket-count=8"
    "memorysetup-bucket-allocator-block-size=4194304"
    "memorysetup-bucket-allocator-block-count=1"
    "memorysetup-main-allocator-block-size=16777216"
    "memorysetup-thread-allocator-block-size=16777216"
    "memorysetup-gfx-main-allocator-block-size=16777216"
    "memorysetup-gfx-thread-allocator-block-size=16777216"
    "memorysetup-cache-allocator-block-size=4194304"
    "memorysetup-typetree-allocator-block-size=2097152"
    "memorysetup-profiler-bucket-allocator-granularity=16"
    "memorysetup-profiler-bucket-allocator-bucket-count=8"
    "memorysetup-profiler-bucket-allocator-block-size=4194304"
    "memorysetup-profiler-bucket-allocator-block-count=1"
    "memorysetup-profiler-allocator-block-size=16777216"
    "memorysetup-profiler-editor-allocator-block-size=1048576"
    "memorysetup-temp-allocator-size-main=4194304"
    "memorysetup-job-temp-allocator-block-size=2097152"
    "memorysetup-job-temp-allocator-block-size-background=1048576"
    "memorysetup-job-temp-allocator-reduction-small-platforms=262144"
    "memorysetup-allocator-temp-initial-block-size-main=262144"
    "memorysetup-allocator-temp-initial-block-size-worker=262144"
    "memorysetup-temp-allocator-size-background-worker=32768"
    "memorysetup-temp-allocator-size-job-worker=262144"
    "memorysetup-temp-allocator-size-preload-manager=262144"
    "memorysetup-temp-allocator-size-nav-mesh-worker=65536"
    "memorysetup-temp-allocator-size-audio-worker=65536"
    "memorysetup-temp-allocator-size-cloud-worker=32768"
    "memorysetup-temp-allocator-size-gfx=262144"
Segmentation fault (core dumped)

@jhwangbo
Copy link
Contributor

Do you get the segmentation fault when you run raisimUnity or when you start the recording? Can you copy paste the log file which is in the raisimUnity directory?

@ZhengmaoHe
Copy link
Author

ZhengmaoHe commented Oct 28, 2024

I get the segmentation fault when I run raisimUnity. There are nothing in the raisimLib/raisimUnity/linux/Logs except .gitignore. I also tried raisimUnityOpengl and it worked, but it didn't save any recordings.

@jhwangbo
Copy link
Contributor

Did this happen after you install ffmpeg?

@ZhengmaoHe
Copy link
Author

ZhengmaoHe commented Oct 28, 2024

I have tried raisimUnity and raisimUnityOpengl many times before and after installing ffmpeg, and have got same result

@ZhengmaoHe
Copy link
Author

I tried using the ffmpeg -i command for simple format conversion and there were no problem. I tried raisimUnreal (linux mobile) and got an error:

./raisimUnreal2.sh   
5.1.0-23058290+++UE5+Release-5.1 1008 0  
Disabling core dumps.

@jhwangbo
Copy link
Contributor

If you cannot turn on RaisimUnreal, its not about ffmpeg. It is about gpu driver or vulkan

@ZhengmaoHe
Copy link
Author

According to the document description, RaisimUnityOpenGL seems to not require Vulkan and GPU drivers and can also run normally, but why didn't it record videos? Is there a difference between its use and RaisimUnity?

@jhwangbo
Copy link
Contributor

Raisim visualizers dont know anything about ffmpeg. When you click "record", it opens a pipe and calls ffmpeg command.
I still don't know what is happening. Can you summarize what happens to what executables?

@ZhengmaoHe
Copy link
Author

ZhengmaoHe commented Nov 11, 2024

When I run raisimUnity, it report a Segmentation fault (core dummy) and ends without saving the log file.
When running raisimUnityOpengl, the program runs normally (without termination, the command line outputs memorysetup temp allocator related information), but when calling server_->startRecordingVideo, there is no recorded mp4 file (the same code can record mp4 normally on PC)
When running RaisimUnreal, it reports Disabling core dumps. and ends without saving the log file.

@jhwangbo
Copy link
Contributor

Ok. So for raisimUnity and raisimUnreal, it is a vulkan or driver issue. For raisimUnityOpengl, does it print the log file?

@ZhengmaoHe
Copy link
Author

The raisimUnityOpengl/Linux/Logs folder contains only one unmodified raisim_error_log.txt file with the sentence 'error logs'

@ZhengmaoHe
Copy link
Author

I found that using raisimUnityOpenl on PC also cannot record videos, and there are no errors or process termination. The same code can be used to record videos using raisimUnity on PC. So may there be issues with raisimUnityOpengl?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants