-
-
Notifications
You must be signed in to change notification settings - Fork 5.4k
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
WebRTC: Support ARM Environment Compilation #1685
Comments
I don't know if it's a problem with my environment. lsb_release -a : No LSB modules are available. uname -a : Linux ydx-desktop 4.15.0-88-generic #88~16.04.1-Ubuntu SMP Wed Feb 12 04:19:15 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
|
I will make the change to automatically disable RTC during cross-compilation.
|
I want an ARM version of SRS with WebRTC functionality, author, do you have any methods or ideas to solve it?
|
In theory, it can be done by specifying the cross-compiler when compiling FFMPEG.
|
@sevenzoe Can you handle it yourself?
|
@winlinvip Yourself? Not much confidence, author.
|
If you can't figure it out, just wait and see if someone more skilled comes along.
|
@winlinvip Hmm, wait a moment, I believe it's possible, author-sama
|
Switch to 608f3d0 and apply the patch attached. It can be cross-compiled on Ubuntu 16.
|
@liuguang 👍 I will find time to look at this patch and see if it can be merged.
|
Fixed For cross-compiling:
Usage:
|
On Ubuntu, cross-compile SRS using Docker.
There were issues with cross-compiling for ARM on the develop branch, but cross-compiling for ARM on the release4.0 branch was successful.
develop
versionarm-linux-gnueabihf-g++ -o objs/srs objs/src/core/srs_core.o objs/src/core/srs_core_version4.o objs/src/core/srs_core_autofree.o objs/src/core/srs_core_performance.o objs/src/core/srs_core_mem_watch.o objs/src/core/srs_core_time.o objs/src/kernel/srs_kernel_error.o objs/src/kernel/srs_kernel_log.o objs/src/kernel/srs_kernel_buffer.o objs/src/kernel/srs_kernel_utility.o objs/src/kernel/srs_kernel_flv.o objs/src/kernel/srs_kernel_codec.o objs/src/kernel/srs_kernel_io.o objs/src/kernel/srs_kernel_consts.o objs/src/kernel/srs_kernel_aac.o objs/src/kernel/srs_kernel_mp3.o objs/src/kernel/srs_kernel_ts.o objs/src/kernel/srs_kernel_stream.o objs/src/kernel/srs_kernel_balance.o objs/src/kernel/srs_kernel_mp4.o objs/src/kernel/srs_kernel_file.o objs/src/kernel/srs_kernel_rtp.o objs/src/protocol/srs_protocol_amf0.o objs/src/protocol/srs_protocol_io.o objs/src/protocol/srs_rtmp_stack.o objs/src/protocol/srs_rtmp_handshake.o objs/src/protocol/srs_protocol_utility.o objs/src/protocol/srs_rtmp_msg_array.o objs/src/protocol/srs_protocol_stream.o objs/src/protocol/srs_raw_avc.o objs/src/protocol/srs_rtsp_stack.o objs/src/protocol/srs_sip_stack.o objs/src/protocol/srs_http_stack.o objs/src/protocol/srs_protocol_kbps.o objs/src/protocol/srs_protocol_json.o objs/src/protocol/srs_protocol_format.o objs/src/protocol/srs_stun_stack.o objs/src/service/srs_service_log.o objs/src/service/srs_service_st.o objs/src/service/srs_service_http_client.o objs/src/service/srs_service_http_conn.o objs/src/service/srs_service_rtmp_conn.o objs/src/service/srs_service_utility.o objs/src/service/srs_service_conn.o objs/src/app/srs_app_server.o objs/src/app/srs_app_conn.o objs/src/app/srs_app_rtmp_conn.o objs/src/app/srs_app_source.o objs/src/app/srs_app_refer.o objs/src/app/srs_app_hls.o objs/src/app/srs_app_forward.o objs/src/app/srs_app_encoder.o objs/src/app/srs_app_http_stream.o objs/src/app/srs_app_thread.o objs/src/app/srs_app_bandwidth.o objs/src/app/srs_app_st.o objs/src/app/srs_app_log.o objs/src/app/srs_app_config.o objs/src/app/srs_app_pithy_print.o objs/src/app/srs_app_reload.o objs/src/app/srs_app_http_api.o objs/src/app/srs_app_http_conn.o objs/src/app/srs_app_http_hooks.o objs/src/app/srs_app_ingest.o objs/src/app/srs_app_ffmpeg.o objs/src/app/srs_app_utility.o objs/src/app/srs_app_edge.o objs/src/app/srs_app_heartbeat.o objs/src/app/srs_app_empty.o objs/src/app/srs_app_http_client.o objs/src/app/srs_app_http_static.o objs/src/app/srs_app_recv_thread.o objs/src/app/srs_app_security.o objs/src/app/srs_app_statistic.o objs/src/app/srs_app_hds.o objs/src/app/srs_app_mpegts_udp.o objs/src/app/srs_app_rtsp.o objs/src/app/srs_app_listener.o objs/src/app/srs_app_async_call.o objs/src/app/srs_app_caster_flv.o objs/src/app/srs_app_process.o objs/src/app/srs_app_ng_exec.o objs/src/app/srs_app_hourglass.o objs/src/app/srs_app_dash.o objs/src/app/srs_app_fragment.o objs/src/app/srs_app_dvr.o objs/src/app/srs_app_coworkers.o objs/src/app/srs_app_hybrid.o objs/src/app/srs_app_rtc.o objs/src/app/srs_app_rtc_conn.o objs/src/app/srs_app_dtls.o objs/src/app/srs_app_audio_recode.o objs/src/app/srs_app_sdp.o objs/src/main/srs_main_server.o objs/st/libst.a objs/openssl/lib/libssl.a objs/openssl/lib/libcrypto.a objs/ffmpeg/lib/libavcodec.a objs/ffmpeg/lib/libswresample.a objs/ffmpeg/lib/libavutil.a objs/opus/lib/libopus.a objs/srtp2/lib/libsrtp2.a -ldl -lpthread -static
objs/ffmpeg/lib/libavcodec.a: error adding symbols: File format not recognized
collect2: error: ld returned 1 exit status
objs/Makefile:519: recipe for target 'objs/srs' failed
make[2]: *** [objs/srs] Error 1
make[2]: Leaving directory '/tmp/srs/trunk'
Makefile:82: recipe for target 'server' failed
make[1]: *** [server] Error 2
make[1]: Leaving directory '/tmp/srs/trunk'
Makefile:10: recipe for target 'default' failed
make: *** [default] Error 2
The text was updated successfully, but these errors were encountered: