Closed 9a4gl closed 7 years ago
Hi Tihomir, This is probably because std used compiling webrtc is different from the one used to compile webrtc-streamer. It could be also some compilation options. I put an awful option in order to link between clang & g++, maybe you should try to remove it ? Regards, Michel.
Yup, after writing an issue it came to my mind that stdlib might have different implementation. Unfortunatelly webrtc cannot be built on arm, it complains that it is not supported and apparently chromium guys are guilty for that. So I have to crosscompile.
To solve this, I would need also crosscompile webrtc-stream using same sysroot as for webrtc, and one that comes with webrtc is missing some libraries you use. Ah, either I will have to install that stuff in sysroot or I will just compile and then link on arm, don't know which way is bigger pain.
Anyone running webrtc-streamer on arm, how it performs ?
BR, Tihomir
Finally got it working. I added required libs to sysroot and created ugly Makefile.arm.txt that use clang to compile using extended sysroot. Now it works on my orange pi zero. Running 1920x1080 I got cca 250% cpu usage (have 4 cores), so it got heavy loaded.
I noticed on one stream (640x352) I got crash:
[023:572] [15215] (h264_decoder_impl.cc:330): avcodec_decode_video2 error: -1094995529
*** Error in `./webrtc_streamer': free(): invalid next size (fast): 0xb0a9f418 ***
This does not happen on amd64. The first error message is probably something wrong in rtsp stream, but second one indicate memory corruption, would be good to check that with valgrind.
giving up arm, we can reopen this and continue once we found someone made a stable arm build
On intel i7 ubuntu 16 everything fine, but when running on arm (orange pi zero with armbian) I get crash:
Stacktrace:
Last thing on stdout (running with -vvv):
I didn't use raspberry pi crosscompile instructions on wiki, but I crosscompiled with: gn gen out/Release --args='target_cpu="arm" is_debug=false rtc_use_h264=true ffmpeg_branding="Chrome"'
and then webrtc-streamer was build on arm cpu with crosscompiled webrtc used from cifs share.
any idea ?
BR, Tihomir 9a4gl