AirenSoft / OvenMediaEngine

OvenMediaEngine (OME) is a Sub-Second Latency Live Streaming Server with Large-Scale and High-Definition. #WebRTC #LLHLS
https://airensoft.com/ome.html
GNU Affero General Public License v3.0
2.55k stars 1.06k forks source link

RTSP pull not working for IP camera #922

Closed rebound-software closed 1 year ago

rebound-software commented 1 year ago

Describe the bug RTSP pull for Samsung XNB-6000 camera is not working. SDP negotiation starts but fails with audio disabled. With audio enabled, oven media engine segfaults.

To Reproduce Steps to reproduce the behavior:

  1. Set Server.xml attached.

Expected behavior RTSP camera live view displayed in OvenPlayer (v0.10.23) running in Chrome browser

Logs Files attached.

Server (please complete the following information):

Player (please complete the following information):

Additional context Hardware transcoding enabled Server.xml.txt ovenmediaengine_xnb6000_fail.log ovenmediaengine.xnb-6000.fail2.log

getroot commented 1 year ago

There seems to be a problem with RTSP pull in recent versions. I'd like to check this out asap, but it may take some time as I'm too busy with commercial projects for survival these days. Can you provide me the RTSP source? If there is, it may be possible to analyze the problem more quickly. Since I don't know when I will be able to use the provided RTSP source, I hope it will be maintained for at least 2 to 4 weeks. If possible, please send it to support@airensoft.com.

rebound-software commented 1 year ago

Details provided for the RTSP camera. Will leave it on 24/7. If there is anything more I can do to help, please let me know.

getroot commented 1 year ago

I couldn't find a way to enable audio in the camera settings you provided. Can you please tell me how can I do it?

rebound-software commented 1 year ago

Hi Jeheon,

Yes, not that obvious. It’s the ‘Audio In Enable’ checkbox on the Video profile page. Make sure to press Apply after checking/unchecking it.

[cid:01EB8346-E8D7-4917-82D8-08EC3C8C12C4]

I now get a stream through to the browser with audio off but still a segfault if I turn on the audio.

Also, I’m not getting anything recorded to disk either. I get a response to say recording has started but nothing appears on disk (works fine for older v13 version):

I20221021-13:17:25.738(1)? Record Request: { I20221021-13:17:25.738(1)? method: 'POST', I20221021-13:17:25.738(1)? mode: 'cors', I20221021-13:17:25.738(1)? cache: 'no-cache', I20221021-13:17:25.738(1)? credentials: 'same-origin', I20221021-13:17:25.738(1)? headers: Headers { I20221021-13:17:25.739(1)? [Symbol(map)]: [Object: null prototype] { I20221021-13:17:25.739(1)? Authorization: [Array], I20221021-13:17:25.739(1)? 'Content-Type': [Array] I20221021-13:17:25.739(1)? } I20221021-13:17:25.739(1)? }, I20221021-13:17:25.739(1)? redirect: 'follow', I20221021-13:17:25.739(1)? referrerPolicy: 'no-referrer', I20221021-13:17:25.739(1)? body: '{"id":"ec4e6f68eb94dec0219a47c0","stream":{"name":"camera1_record"},"filePath":"/video2/camera1/ec4e6f68eb94dec0219a47c0.mp4","infoPath":"/video2/camera1/ec4e6f68eb94dec0219a47c0.xml"}' I20221021-13:17:25.739(1)? }

I20221021-13:17:25.758(1)? Record response Response { I20221021-13:17:25.758(1)? size: 0, I20221021-13:17:25.758(1)? timeout: 0, I20221021-13:17:25.758(1)? [Symbol(Body internals)]: { I20221021-13:17:25.758(1)? body: PassThrough { I20221021-13:17:25.758(1)? _readableState: [ReadableState], I20221021-13:17:25.758(1)? _events: [Object: null prototype], I20221021-13:17:25.758(1)? _eventsCount: 5, I20221021-13:17:25.758(1)? _maxListeners: undefined, I20221021-13:17:25.758(1)? _writableState: [WritableState], I20221021-13:17:25.758(1)? allowHalfOpen: true, I20221021-13:17:25.758(1)? [Symbol(kCapture)]: false, I20221021-13:17:25.759(1)? [Symbol(kTransformState)]: [Object] I20221021-13:17:25.759(1)? }, I20221021-13:17:25.759(1)? disturbed: false, I20221021-13:17:25.759(1)? error: null I20221021-13:17:25.759(1)? }, I20221021-13:17:25.759(1)? [Symbol(Response internals)]: { I20221021-13:17:25.759(1)? url: 'http://media-server1.xxx:8081/v1/vhosts/default/apps/app:startRecord', I20221021-13:17:25.759(1)? status: 200, I20221021-13:17:25.759(1)? statusText: 'OK', I20221021-13:17:25.759(1)? headers: Headers { [Symbol(map)]: [Object: null prototype] } I20221021-13:17:25.759(1)? } I20221021-13:17:25.759(1)? }

[2022-10-21 13:16:48.362] I [OvenMediaEngine:27930] Config | config_manager.cpp:239 | Trying to set logfile in directory... (/var/log/ovenmediaengine) [2022-10-21 13:16:48.362] I [OvenMediaEngine:27930] Config | config_manager.cpp:261 | Trying to load configurations... (/usr/share/ovenmediaengine/conf/Server.xml) [2022-10-21 13:16:48.375] I [OvenMediaEngine:27930] OvenMediaEngine | banner.cpp:25 | OvenMediaEngine v0.14.13 (v0.14.13-1-g5beba779) is started on [media-server1] (Linux x86_64 - 5.4.0-128-generic, #144~18.04.1-Ubuntu SMP Thu Sep 22 11:08:41 UTC 2022) [2022-10-21 13:16:48.375] I [OvenMediaEngine:27930] OvenMediaEngine | banner.cpp:27 | With modules: [2022-10-21 13:16:48.375] I [OvenMediaEngine:27930] OvenMediaEngine | banner.cpp:28 | FFmpeg 5.0.1 [2022-10-21 13:16:48.375] I [OvenMediaEngine:27930] OvenMediaEngine | banner.cpp:29 | Configuration: --prefix=/opt/ovenmediaengine --extra-cflags='-I/opt/ovenmediaengine/include -g -I/usr/local/cuda/include' --extra-ldflags='-L/opt/ovenmediaengine/lib -L/usr/local/cuda/lib64 -Wl,-rpath,/opt/ovenmediaengine/lib' --extra-libs=-ldl --enable-gpl --enable-nonfree --enable-shared --disable-static --disable-debug --disable-doc --disable-programs --disable-avdevice --disable-dct --disable-dwt --disable-lsp --disable-lzo --disable-rdft --disable-faan --disable-pixelutils --enable-zlib --enable-libopus --enable-libvpx --enable-libfdk_aac --enable-libopenh264 --enable-openssl --disable-nvdec --disable-nvdec --disable-vaapi --disable-vdpau --disable-cuda-llvm --disable-cuvid --disable-ffnvcodec --enable-cuda-nvcc --enable-cuda-llvm --enable-libnpp --enable-nvenc --enable-nvdec --enable-ffnvcodec --enable-cuvid --disable-everything --disable-fast-unaligned --enable-hwaccel='cuda,cuvid' --enable-encoder='libvpx_vp8,libopus,libfdk_aac,libopenh264,mjpeg,png,h264_nvenc,hevc_nvenc' --enable-decoder='aac,aac_latm,aac_fixed,h264,hevc,opus,vp8,h264_nvdec,hevc_nvdec,h264_cuvid,hevc_cuvid' --enable-parser='aac,aac_latm,aac_fixed,h264,hevc,opus,vp8' --enable-network --enable-protocol=tcp --enable-protocol=udp --enable-protocol='rtp,file,rtmp,tls,rtmps' --enable-demuxer='rtsp,flv,live_flv,mp4' --enable-muxer='mp4,webm,mpegts,flv,mpjpeg' --enable-filter='asetnsamples,aresample,aformat,channelmap,channelsplit,scale,transpose,fps,settb,asettb,format,scale_cuda,hwdownload,hwupload,hwupload_cuda' [2022-10-21 13:16:48.375] I [OvenMediaEngine:27930] OvenMediaEngine | banner.cpp:30 | libavformat: 59.16.100 [2022-10-21 13:16:48.375] I [OvenMediaEngine:27930] OvenMediaEngine | banner.cpp:31 | libavcodec: 59.18.100 [2022-10-21 13:16:48.375] I [OvenMediaEngine:27930] OvenMediaEngine | banner.cpp:32 | libavutil: 57.17.100 [2022-10-21 13:16:48.375] I [OvenMediaEngine:27930] OvenMediaEngine | banner.cpp:33 | libavfilter: 8.24.100 [2022-10-21 13:16:48.375] I [OvenMediaEngine:27930] OvenMediaEngine | banner.cpp:34 | libswresample: 4.3.100 [2022-10-21 13:16:48.375] I [OvenMediaEngine:27930] OvenMediaEngine | banner.cpp:35 | libswscale: 6.4.100 [2022-10-21 13:16:48.375] I [OvenMediaEngine:27930] OvenMediaEngine | banner.cpp:36 | SRT: 1.4.4 [2022-10-21 13:16:48.375] I [OvenMediaEngine:27930] OvenMediaEngine | banner.cpp:37 | SRTP: libsrtp2 2.4.2 [2022-10-21 13:16:48.375] I [OvenMediaEngine:27930] OvenMediaEngine | banner.cpp:38 | OpenSSL: OpenSSL 3.0.2 15 Mar 2022 [2022-10-21 13:16:48.375] I [OvenMediaEngine:27930] OvenMediaEngine | banner.cpp:39 | Configuration: compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -O3 -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_BUILDING_OPENSSL -DNDEBUG [2022-10-21 13:16:48.375] I [OvenMediaEngine:27930] OvenMediaEngine | banner.cpp:40 | JsonCpp: 1.9.3 [2022-10-21 13:16:48.375] I [OvenMediaEngine:27930] OvenMediaEngine | banner.cpp:41 | jemalloc: 5.2.1-0-gea6b3e973b477b8061e0076bb257dbd7f3faa756 [2022-10-21 13:16:48.375] C [OvenMediaEngine:27930] OvenMediaEngine | main.cpp:301 | Current kernel version: 5.4.0-128-generic [2022-10-21 13:16:48.375] C [OvenMediaEngine:27930] OvenMediaEngine | main.cpp:302 | Linux kernel version 5.3 through 5.6 have a critical bug. Please consider using a different version. (https://bugzilla.kernel.org/show_bug.cgi?id=205933) [2022-10-21 13:16:48.375] I [OvenMediaEngine:27930] OvenMediaEngine | main.cpp:72 | Server ID : 985dad7b-a63b-4c46-8a64-a09b9aea3e1f [2022-10-21 13:16:48.396] I [OvenMediaEngine:27930] OvenMediaEngine | main.cpp:81 | Resolved public IP address (88.97.17.78) from stun server (stun.l.google.com:19302http://stun.l.google.com:19302) [2022-10-21 13:16:48.403] I [OvenMediaEngine:27930] OvenMediaEngine | main.cpp:111 | Trying to create MediaRouter... [2022-10-21 13:16:48.403] I [OvenMediaEngine:27930] MediaRouter | mediarouter.cpp:40 | Mediarouter has been started. [2022-10-21 13:16:48.403] I [OvenMediaEngine:27930] OvenMediaEngine | main.cpp:114 | Trying to create WebRTC Publisher... [2022-10-21 13:16:48.403] I [OvenMediaEngine:27930] Signalling.P2P | rtc_p2p_manager.cpp:27 | P2P is disabled in the configuration [2022-10-21 13:16:48.405] I [OvenMediaEngine:27930] ICE | ice_port.cpp:86 | ICE port is bound to 0.0.0.0:10000/UDP (0x56376aab7db0) [2022-10-21 13:16:48.405] I [OvenMediaEngine:27930] ICE | ice_port.cpp:128 | ICE port is bound to :3478/TCP (0x56376abfe6a0) [2022-10-21 13:16:48.405] I [OvenMediaEngine:27930] ICE | ice_port_manager.cpp:94 | RelayServer is created successfully: host:3478?transport=tcp [2022-10-21 13:16:48.405] I [OvenMediaEngine:27930] WebRTC Publisher | webrtc_publisher.cpp:161 | WebRTC Publisher is listening on :3333, TLS: :3334... [2022-10-21 13:16:48.405] I [OvenMediaEngine:27930] Publisher | publisher.cpp:18 | WebRTC Publisher has been started. [2022-10-21 13:16:48.406] I [OvenMediaEngine:27930] OvenMediaEngine | main.cpp:115 | Trying to create LLHLS Publisher... [2022-10-21 13:16:48.407] W [OvenMediaEngine:27930] LLHLS Publisher | llhls_publisher.cpp:53 | LLHLS Publisher is disabled by configuration [2022-10-21 13:16:48.407] I [OvenMediaEngine:27930] OvenMediaEngine | main.cpp:116 | Trying to create HLS Publisher... [2022-10-21 13:16:48.407] W [OvenMediaEngine:27930] HLS | hls_publisher.cpp:38 | HLS Publisher is disabled by configuration [2022-10-21 13:16:48.407] I [OvenMediaEngine:27930] OvenMediaEngine | main.cpp:117 | Trying to create MPEG-DASH Publisher... [2022-10-21 13:16:48.408] W [OvenMediaEngine:27930] DASH | dash_publisher.cpp:36 | DASH Publisher is disabled by configuration [2022-10-21 13:16:48.408] I [OvenMediaEngine:27930] OvenMediaEngine | main.cpp:118 | Trying to create Low-Latency MPEG-DASH Publisher... [2022-10-21 13:16:48.408] W [OvenMediaEngine:27930] LLDASH | cmaf_publisher.cpp:39 | LLDASH Publisher is disabled by configuration [2022-10-21 13:16:48.408] I [OvenMediaEngine:27930] OvenMediaEngine | main.cpp:119 | Trying to create OVT Publisher... [2022-10-21 13:16:48.409] I [OvenMediaEngine:27930] OVT | ovt_publisher.cpp:58 | OVTPublisher is listening on :9000/TCP [2022-10-21 13:16:48.409] I [OvenMediaEngine:27930] Publisher | publisher.cpp:18 | OVTPublisher has been started. [2022-10-21 13:16:48.409] I [OvenMediaEngine:27930] OvenMediaEngine | main.cpp:120 | Trying to create File Publisher... [2022-10-21 13:16:48.409] I [OvenMediaEngine:27930] Publisher | publisher.cpp:18 | FilePublisher has been started. [2022-10-21 13:16:48.410] I [OvenMediaEngine:27930] OvenMediaEngine | main.cpp:121 | Trying to create MpegtsPush Publisher... [2022-10-21 13:16:48.410] I [OvenMediaEngine:27930] Publisher | publisher.cpp:18 | MPEGTSPushPublisher has been started. [2022-10-21 13:16:48.410] I [OvenMediaEngine:27930] OvenMediaEngine | main.cpp:122 | Trying to create RtmpPush Publisher... [2022-10-21 13:16:48.410] I [OvenMediaEngine:27930] Publisher | publisher.cpp:18 | RTMPPushPublisher has been started. [2022-10-21 13:16:48.411] I [OvenMediaEngine:27930] OvenMediaEngine | main.cpp:123 | Trying to create Thumbnail Publisher... [2022-10-21 13:16:48.411] W [OvenMediaEngine:27930] Thumbnail | thumbnail_publisher.cpp:45 | ThumbnailPublisher is disabled by configuration [2022-10-21 13:16:48.411] I [OvenMediaEngine:27930] OvenMediaEngine | main.cpp:126 | Trying to create Transcoder... [2022-10-21 13:16:48.411] I [OvenMediaEngine:27930] OvenMediaEngine | main.cpp:129 | Trying to create WebRTC Provider... [2022-10-21 13:16:48.412] I [OvenMediaEngine:27930] Signalling.P2P | rtc_p2p_manager.cpp:27 | P2P is disabled in the configuration [2022-10-21 13:16:48.412] W [OvenMediaEngine:27930] HttpServer | http_server_manager.cpp:53 | The number of workers in the existing physical port differs from the number of workers passed by the argument: physical port: 4, argument: 1 [2022-10-21 13:16:48.412] W [OvenMediaEngine:27930] HttpServer | http_server_manager.cpp:54 | Because worker counts are different, the first initialized count is used: 4 [2022-10-21 13:16:48.413] I [OvenMediaEngine:27930] ICE | ice_port.cpp:86 | ICE port is bound to 0.0.0.0:10000/UDP (0x56376aab7db0) [2022-10-21 13:16:48.413] W [OvenMediaEngine:27930] PhyPort | physical_port_manager.cpp:64 | The number of workers in the existing socket pool differs from the number of workers passed by the argument: socket pool: 4, argument: 1 [2022-10-21 13:16:48.413] I [OvenMediaEngine:27930] ICE | ice_port.cpp:128 | ICE port is bound to :3478/TCP (0x56376abfe6a0) [2022-10-21 13:16:48.413] I [OvenMediaEngine:27930] ICE | ice_port_manager.cpp:94 | RelayServer is created successfully: host:3478?transport=tcp [2022-10-21 13:16:48.414] I [OvenMediaEngine:27930] WebRTC Provider | webrtc_provider.cpp:166 | WebRTCProvider is listening on :3333, TLS: :3334... [2022-10-21 13:16:48.414] I [OvenMediaEngine:27930] Provider | provider.cpp:37 | WebRTCProvider has been started. [2022-10-21 13:16:48.414] I [OvenMediaEngine:27930] OvenMediaEngine | main.cpp:130 | Trying to create MPEG-TS Provider... [2022-10-21 13:16:48.415] I [OvenMediaEngine:27930] MpegtsProvider | mpegts_provider.cpp:62 | MPEGTSProvider is listening on :4000/UDP [2022-10-21 13:16:48.415] I [OvenMediaEngine:27930] Provider | provider.cpp:37 | MPEGTSProvider has been started. [2022-10-21 13:16:48.415] I [OvenMediaEngine:27930] OvenMediaEngine | main.cpp:131 | Trying to create SRT Provider... [2022-10-21 13:16:48.416] I [OvenMediaEngine:27930] SrtProvider | srt_provider.cpp:66 | SrtProvider is listening on :9999/SRT [2022-10-21 13:16:48.416] I [OvenMediaEngine:27930] Provider | provider.cpp:37 | SrtProvider has been started. [2022-10-21 13:16:48.416] I [OvenMediaEngine:27930] OvenMediaEngine | main.cpp:132 | Trying to create RTMP Provider... [2022-10-21 13:16:48.416] I [OvenMediaEngine:27930] RTMPProvider | rtmp_provider.cpp:101 | RTMPProvider is listening on :1935/TCP [2022-10-21 13:16:48.416] I [OvenMediaEngine:27930] Provider | provider.cpp:37 | RTMPProvider has been started. [2022-10-21 13:16:48.416] I [OvenMediaEngine:27930] OvenMediaEngine | main.cpp:133 | Trying to create OVT Provider... [2022-10-21 13:16:48.416] I [OvenMediaEngine:27930] Provider | provider.cpp:37 | OVTProvider has been started. [2022-10-21 13:16:48.416] I [OvenMediaEngine:27930] OvenMediaEngine | main.cpp:134 | Trying to create RTSPC Provider... [2022-10-21 13:16:48.417] I [OvenMediaEngine:27930] Provider | provider.cpp:37 | RTSPCProvider has been started. [2022-10-21 13:16:48.417] I [OvenMediaEngine:27930] OvenMediaEngine | main.cpp:135 | Trying to create File Provider... [2022-10-21 13:16:48.417] I [OvenMediaEngine:27930] Provider | provider.cpp:37 | FileProvider has been started. [2022-10-21 13:16:48.417] I [OvenMediaEngine:27930] OvenMediaEngine | main.cpp:142 | All modules are initialized successfully [2022-10-21 13:16:48.419] I [OvenMediaEngine:27930] Certificate | certificate.cpp:43 | A certificate has been created for VirtualHost [default]: Cert file path: /etc/ssl/media-server1.xxx.com.cer Chain cert file path: /etc/ssl/fullchain.cer Private key file path: /etc/ssl/media-server1.xxx.com.key [2022-10-21 13:16:48.421] I [OvenMediaEngine:27930] Orchestrator | orchestrator_internal.cpp:733 | Trying to create an application: [#default#app] [2022-10-21 13:16:48.422] I [OvenMediaEngine:27930] MediaRouter | mediarouter_application.cpp:50 | [#default#app(0)] Created Mediarouter application. worker(1) [2022-10-21 13:16:48.422] I [OvenMediaEngine:27930] MediaRouter | mediarouter.cpp:83 | Created Mediarouter. app(#default#app) [2022-10-21 13:16:48.423] I [OvenMediaEngine:27930] Publisher | application.cpp:165 | WebRTC Publisher Application has created [#default#app] application [2022-10-21 13:16:48.423] I [OvenMediaEngine:27930] Publisher | application.cpp:165 | OVTPublisher Application has created [#default#app] application [2022-10-21 13:16:48.423] I [OvenMediaEngine:27930] Publisher | application.cpp:165 | FilePublisher Application has created [#default#app] application [2022-10-21 13:16:48.423] W [OvenMediaEngine:27930] Publisher | publisher.cpp:70 | MPEGTSPush publisher is disabled in #default#app application, so it was not created [2022-10-21 13:16:48.423] W [OvenMediaEngine:27930] Publisher | publisher.cpp:70 | RTMPPush publisher is disabled in #default#app application, so it was not created [2022-10-21 13:16:48.423] I [OvenMediaEngine:27930] Transcoder | transcoder_application.cpp:31 | Created transcoder application. app(#default#app) [2022-10-21 13:16:48.424] D [OvenMediaEngine:27930] FFmpeg | third_parties.cpp:125 | [AVHWDeviceContext: 0x56376afc15c0] Loaded lib: libcuda.so.1 [2022-10-21 13:16:48.424] D [OvenMediaEngine:27930] FFmpeg | third_parties.cpp:125 | [AVHWDeviceContext: 0x56376afc15c0] Loaded sym: cuInit [2022-10-21 13:16:48.424] D [OvenMediaEngine:27930] FFmpeg | third_parties.cpp:125 | [AVHWDeviceContext: 0x56376afc15c0] Loaded sym: cuDeviceGetCount [2022-10-21 13:16:48.424] D [OvenMediaEngine:27930] FFmpeg | third_parties.cpp:125 | [AVHWDeviceContext: 0x56376afc15c0] Loaded sym: cuDeviceGet [2022-10-21 13:16:48.424] D [OvenMediaEngine:27930] FFmpeg | third_parties.cpp:125 | [AVHWDeviceContext: 0x56376afc15c0] Loaded sym: cuDeviceGetAttribute [2022-10-21 13:16:48.424] D [OvenMediaEngine:27930] FFmpeg | third_parties.cpp:125 | [AVHWDeviceContext: 0x56376afc15c0] Loaded sym: cuDeviceGetName [2022-10-21 13:16:48.424] D [OvenMediaEngine:27930] FFmpeg | third_parties.cpp:125 | [AVHWDeviceContext: 0x56376afc15c0] Loaded sym: cuDeviceComputeCapability [2022-10-21 13:16:48.424] D [OvenMediaEngine:27930] FFmpeg | third_parties.cpp:125 | [AVHWDeviceContext: 0x56376afc15c0] Loaded sym: cuCtxCreate_v2 [2022-10-21 13:16:48.424] D [OvenMediaEngine:27930] FFmpeg | third_parties.cpp:125 | [AVHWDeviceContext: 0x56376afc15c0] Loaded sym: cuCtxSetLimit [2022-10-21 13:16:48.424] D [OvenMediaEngine:27930] FFmpeg | third_parties.cpp:125 | [AVHWDeviceContext: 0x56376afc15c0] Loaded sym: cuCtxPushCurrent_v2 [2022-10-21 13:16:48.424] D [OvenMediaEngine:27930] FFmpeg | third_parties.cpp:125 | [AVHWDeviceContext: 0x56376afc15c0] Loaded sym: cuCtxPopCurrent_v2 [2022-10-21 13:16:48.424] D [OvenMediaEngine:27930] FFmpeg | third_parties.cpp:125 | [AVHWDeviceContext: 0x56376afc15c0] Loaded sym: cuCtxDestroy_v2 [2022-10-21 13:16:48.424] D [OvenMediaEngine:27930] FFmpeg | third_parties.cpp:125 | [AVHWDeviceContext: 0x56376afc15c0] Loaded sym: cuMemAlloc_v2 [2022-10-21 13:16:48.424] D [OvenMediaEngine:27930] FFmpeg | third_parties.cpp:125 | [AVHWDeviceContext: 0x56376afc15c0] Loaded sym: cuMemAllocPitch_v2 [2022-10-21 13:16:48.424] D [OvenMediaEngine:27930] FFmpeg | third_parties.cpp:125 | [AVHWDeviceContext: 0x56376afc15c0] Loaded sym: cuMemsetD8Async [2022-10-21 13:16:48.424] D [OvenMediaEngine:27930] FFmpeg | third_parties.cpp:125 | [AVHWDeviceContext: 0x56376afc15c0] Loaded sym: cuMemFree_v2 [2022-10-21 13:16:48.424] D [OvenMediaEngine:27930] FFmpeg | third_parties.cpp:125 | [AVHWDeviceContext: 0x56376afc15c0] Loaded sym: cuMemcpy [2022-10-21 13:16:48.424] D [OvenMediaEngine:27930] FFmpeg | third_parties.cpp:125 | [AVHWDeviceContext: 0x56376afc15c0] Loaded sym: cuMemcpyAsync [2022-10-21 13:16:48.424] D [OvenMediaEngine:27930] FFmpeg | third_parties.cpp:125 | [AVHWDeviceContext: 0x56376afc15c0] Loaded sym: cuMemcpy2D_v2 [2022-10-21 13:16:48.424] D [OvenMediaEngine:27930] FFmpeg | third_parties.cpp:125 | [AVHWDeviceContext: 0x56376afc15c0] Loaded sym: cuMemcpy2DAsync_v2 [2022-10-21 13:16:48.424] D [OvenMediaEngine:27930] FFmpeg | third_parties.cpp:125 | [AVHWDeviceContext: 0x56376afc15c0] Loaded sym: cuGetErrorName [2022-10-21 13:16:48.424] D [OvenMediaEngine:27930] FFmpeg | third_parties.cpp:125 | [AVHWDeviceContext: 0x56376afc15c0] Loaded sym: cuGetErrorString [2022-10-21 13:16:48.424] D [OvenMediaEngine:27930] FFmpeg | third_parties.cpp:125 | [AVHWDeviceContext: 0x56376afc15c0] Loaded sym: cuCtxGetDevice [2022-10-21 13:16:48.424] D [OvenMediaEngine:27930] FFmpeg | third_parties.cpp:125 | [AVHWDeviceContext: 0x56376afc15c0] Loaded sym: cuDevicePrimaryCtxRetain [2022-10-21 13:16:48.424] D [OvenMediaEngine:27930] FFmpeg | third_parties.cpp:125 | [AVHWDeviceContext: 0x56376afc15c0] Loaded sym: cuDevicePrimaryCtxRelease [2022-10-21 13:16:48.424] D [OvenMediaEngine:27930] FFmpeg | third_parties.cpp:125 | [AVHWDeviceContext: 0x56376afc15c0] Loaded sym: cuDevicePrimaryCtxSetFlags [2022-10-21 13:16:48.424] D [OvenMediaEngine:27930] FFmpeg | third_parties.cpp:125 | [AVHWDeviceContext: 0x56376afc15c0] Loaded sym: cuDevicePrimaryCtxGetState [2022-10-21 13:16:48.424] D [OvenMediaEngine:27930] FFmpeg | third_parties.cpp:125 | [AVHWDeviceContext: 0x56376afc15c0] Loaded sym: cuDevicePrimaryCtxReset [2022-10-21 13:16:48.424] D [OvenMediaEngine:27930] FFmpeg | third_parties.cpp:125 | [AVHWDeviceContext: 0x56376afc15c0] Loaded sym: cuStreamCreate [2022-10-21 13:16:48.424] D [OvenMediaEngine:27930] FFmpeg | third_parties.cpp:125 | [AVHWDeviceContext: 0x56376afc15c0] Loaded sym: cuStreamQuery [2022-10-21 13:16:48.424] D [OvenMediaEngine:27930] FFmpeg | third_parties.cpp:125 | [AVHWDeviceContext: 0x56376afc15c0] Loaded sym: cuStreamSynchronize [2022-10-21 13:16:48.424] D [OvenMediaEngine:27930] FFmpeg | third_parties.cpp:125 | [AVHWDeviceContext: 0x56376afc15c0] Loaded sym: cuStreamDestroy_v2 [2022-10-21 13:16:48.424] D [OvenMediaEngine:27930] FFmpeg | third_parties.cpp:125 | [AVHWDeviceContext: 0x56376afc15c0] Loaded sym: cuStreamAddCallback [2022-10-21 13:16:48.424] D [OvenMediaEngine:27930] FFmpeg | third_parties.cpp:125 | [AVHWDeviceContext: 0x56376afc15c0] Loaded sym: cuEventCreate [2022-10-21 13:16:48.424] D [OvenMediaEngine:27930] FFmpeg | third_parties.cpp:125 | [AVHWDeviceContext: 0x56376afc15c0] Loaded sym: cuEventDestroy_v2 [2022-10-21 13:16:48.424] D [OvenMediaEngine:27930] FFmpeg | third_parties.cpp:125 | [AVHWDeviceContext: 0x56376afc15c0] Loaded sym: cuEventSynchronize [2022-10-21 13:16:48.424] D [OvenMediaEngine:27930] FFmpeg | third_parties.cpp:125 | [AVHWDeviceContext: 0x56376afc15c0] Loaded sym: cuEventQuery [2022-10-21 13:16:48.424] D [OvenMediaEngine:27930] FFmpeg | third_parties.cpp:125 | [AVHWDeviceContext: 0x56376afc15c0] Loaded sym: cuEventRecord [2022-10-21 13:16:48.424] D [OvenMediaEngine:27930] FFmpeg | third_parties.cpp:125 | [AVHWDeviceContext: 0x56376afc15c0] Loaded sym: cuLaunchKernel [2022-10-21 13:16:48.424] D [OvenMediaEngine:27930] FFmpeg | third_parties.cpp:125 | [AVHWDeviceContext: 0x56376afc15c0] Loaded sym: cuLinkCreate [2022-10-21 13:16:48.424] D [OvenMediaEngine:27930] FFmpeg | third_parties.cpp:125 | [AVHWDeviceContext: 0x56376afc15c0] Loaded sym: cuLinkAddData [2022-10-21 13:16:48.424] D [OvenMediaEngine:27930] FFmpeg | third_parties.cpp:125 | [AVHWDeviceContext: 0x56376afc15c0] Loaded sym: cuLinkComplete [2022-10-21 13:16:48.424] D [OvenMediaEngine:27930] FFmpeg | third_parties.cpp:125 | [AVHWDeviceContext: 0x56376afc15c0] Loaded sym: cuLinkDestroy [2022-10-21 13:16:48.424] D [OvenMediaEngine:27930] FFmpeg | third_parties.cpp:125 | [AVHWDeviceContext: 0x56376afc15c0] Loaded sym: cuModuleLoadData [2022-10-21 13:16:48.424] D [OvenMediaEngine:27930] FFmpeg | third_parties.cpp:125 | [AVHWDeviceContext: 0x56376afc15c0] Loaded sym: cuModuleUnload [2022-10-21 13:16:48.424] D [OvenMediaEngine:27930] FFmpeg | third_parties.cpp:125 | [AVHWDeviceContext: 0x56376afc15c0] Loaded sym: cuModuleGetFunction [2022-10-21 13:16:48.424] D [OvenMediaEngine:27930] FFmpeg | third_parties.cpp:125 | [AVHWDeviceContext: 0x56376afc15c0] Loaded sym: cuModuleGetGlobal [2022-10-21 13:16:48.424] D [OvenMediaEngine:27930] FFmpeg | third_parties.cpp:125 | [AVHWDeviceContext: 0x56376afc15c0] Loaded sym: cuTexObjectCreate [2022-10-21 13:16:48.424] D [OvenMediaEngine:27930] FFmpeg | third_parties.cpp:125 | [AVHWDeviceContext: 0x56376afc15c0] Loaded sym: cuTexObjectDestroy [2022-10-21 13:16:48.424] D [OvenMediaEngine:27930] FFmpeg | third_parties.cpp:125 | [AVHWDeviceContext: 0x56376afc15c0] Loaded sym: cuGLGetDevices_v2 [2022-10-21 13:16:48.424] D [OvenMediaEngine:27930] FFmpeg | third_parties.cpp:125 | [AVHWDeviceContext: 0x56376afc15c0] Loaded sym: cuGraphicsGLRegisterImage [2022-10-21 13:16:48.424] D [OvenMediaEngine:27930] FFmpeg | third_parties.cpp:125 | [AVHWDeviceContext: 0x56376afc15c0] Loaded sym: cuGraphicsUnregisterResource [2022-10-21 13:16:48.424] D [OvenMediaEngine:27930] FFmpeg | third_parties.cpp:125 | [AVHWDeviceContext: 0x56376afc15c0] Loaded sym: cuGraphicsMapResources [2022-10-21 13:16:48.424] D [OvenMediaEngine:27930] FFmpeg | third_parties.cpp:125 | [AVHWDeviceContext: 0x56376afc15c0] Loaded sym: cuGraphicsUnmapResources [2022-10-21 13:16:48.424] D [OvenMediaEngine:27930] FFmpeg | third_parties.cpp:125 | [AVHWDeviceContext: 0x56376afc15c0] Loaded sym: cuGraphicsSubResourceGetMappedArray [2022-10-21 13:16:48.425] D [OvenMediaEngine:27930] FFmpeg | third_parties.cpp:125 | [AVHWDeviceContext: 0x56376afc15c0] Loaded sym: cuDeviceGetUuid [2022-10-21 13:16:48.425] D [OvenMediaEngine:27930] FFmpeg | third_parties.cpp:125 | [AVHWDeviceContext: 0x56376afc15c0] Loaded sym: cuImportExternalMemory [2022-10-21 13:16:48.425] D [OvenMediaEngine:27930] FFmpeg | third_parties.cpp:125 | [AVHWDeviceContext: 0x56376afc15c0] Loaded sym: cuDestroyExternalMemory [2022-10-21 13:16:48.425] D [OvenMediaEngine:27930] FFmpeg | third_parties.cpp:125 | [AVHWDeviceContext: 0x56376afc15c0] Loaded sym: cuExternalMemoryGetMappedBuffer [2022-10-21 13:16:48.425] D [OvenMediaEngine:27930] FFmpeg | third_parties.cpp:125 | [AVHWDeviceContext: 0x56376afc15c0] Loaded sym: cuExternalMemoryGetMappedMipmappedArray [2022-10-21 13:16:48.425] D [OvenMediaEngine:27930] FFmpeg | third_parties.cpp:125 | [AVHWDeviceContext: 0x56376afc15c0] Loaded sym: cuMipmappedArrayGetLevel [2022-10-21 13:16:48.425] D [OvenMediaEngine:27930] FFmpeg | third_parties.cpp:125 | [AVHWDeviceContext: 0x56376afc15c0] Loaded sym: cuMipmappedArrayDestroy [2022-10-21 13:16:48.425] D [OvenMediaEngine:27930] FFmpeg | third_parties.cpp:125 | [AVHWDeviceContext: 0x56376afc15c0] Loaded sym: cuImportExternalSemaphore [2022-10-21 13:16:48.425] D [OvenMediaEngine:27930] FFmpeg | third_parties.cpp:125 | [AVHWDeviceContext: 0x56376afc15c0] Loaded sym: cuDestroyExternalSemaphore [2022-10-21 13:16:48.425] D [OvenMediaEngine:27930] FFmpeg | third_parties.cpp:125 | [AVHWDeviceContext: 0x56376afc15c0] Loaded sym: cuSignalExternalSemaphoresAsync [2022-10-21 13:16:48.425] D [OvenMediaEngine:27930] FFmpeg | third_parties.cpp:125 | [AVHWDeviceContext: 0x56376afc15c0] Loaded sym: cuWaitExternalSemaphoresAsync [2022-10-21 13:16:48.462] D [OvenMediaEngine:27930] FFmpeg | third_parties.cpp:125 | [AVHWDeviceContext: 0x56376afc15c0] Calling cu->cuInit(0) [2022-10-21 13:16:48.462] D [OvenMediaEngine:27930] FFmpeg | third_parties.cpp:125 | [AVHWDeviceContext: 0x56376afc15c0] Calling cu->cuDeviceGet(&hwctx->internal->cuda_device, device_idx) [2022-10-21 13:16:48.542] D [OvenMediaEngine:27930] FFmpeg | third_parties.cpp:125 | [AVHWDeviceContext: 0x56376afc15c0] Calling cu->cuCtxCreate(&hwctx->cuda_ctx, desired_flags, hwctx->internal->cuda_device) [2022-10-21 13:16:48.542] D [OvenMediaEngine:27930] FFmpeg | third_parties.cpp:125 | [AVHWDeviceContext: 0x56376afc15c0] Calling cu->cuCtxPopCurrent(&dummy) [2022-10-21 13:16:48.542] I [OvenMediaEngine:27930] Transcoder | transcoder_gpu.cpp:62 | Supported NVIDIA CUDA hardware accelerator. hw.pixfmt: 117, sw.pixfmt : 23 [2022-10-21 13:16:48.542] I [OvenMediaEngine:27930] Transcoder | transcoder.cpp:86 | Transcoder has created [config][#default#app] application [2022-10-21 13:16:48.543] I [OvenMediaEngine:27930] Provider | application.cpp:46 | WebRTCProvider has created [#default#app] application [2022-10-21 13:16:48.543] I [OvenMediaEngine:27930] Provider | application.cpp:46 | MPEGTSProvider has created [#default#app] application [2022-10-21 13:16:48.543] I [OvenMediaEngine:27930] Provider | application.cpp:46 | SrtProvider has created [#default#app] application [2022-10-21 13:16:48.543] I [OvenMediaEngine:27930] Provider | application.cpp:46 | RTMPProvider has created [#default#app] application [2022-10-21 13:16:48.543] I [OvenMediaEngine:27930] Provider | application.cpp:46 | OVTProvider has created [#default#app] application [2022-10-21 13:16:48.543] I [OvenMediaEngine:27930] Provider | application.cpp:46 | RTSPCProvider has created [#default#app] application [2022-10-21 13:16:48.545] I [OvenMediaEngine:27930] Certificate | certificate.cpp:43 | A certificate has been created for VirtualHost [api_server]: Cert file path: /etc/ssl/media-server1.xxx.com.cer Chain cert file path: /etc/ssl/fullchain.cer Private key file path: /etc/ssl/media-server1.xxx.com.key [2022-10-21 13:16:48.548] I [OvenMediaEngine:27930] APIServer | api_server.cpp:113 | API Server is listening on :8081/TCP, TLS: :8082/TCP... [2022-10-21 13:17:16.891] I [SPRtcSig-T3334:27941] HttpServer | http_server.cpp:146 | Client(<ClientSocket: 0x7ffa140010f0, #4, Connected, TCP, Nonblocking, 172.16.0.2:51418>) is connected on *:3334 [2022-10-21 13:17:16.905] I [SPRtcSig-T3334:27941] HttpServer | http_connection.cpp:148 | TLS connection accepted : Server Name(media-server1.xxx.comhttp://media-server1.xxx.com) Alpn Protocol(http/1.1) Client (<ClientSocket: 0x7ffa140010f0, #4, Connected, TCP, Nonblocking, 172.16.0.2:51418>) [2022-10-21 13:17:16.908] I [SPRtcSig-T3334:27941] Signalling | rtc_signalling_server.cpp:231 | New client is connected: <ClientSocket: 0x7ffa140010f0, #4, Connected, TCP, Nonblocking, 172.16.0.2:51418> [2022-10-21 13:17:16.912] I [SPRtcSig-T3334:27941] Publisher | publisher.cpp:186 | Try to pull stream from local origin map: [#default#app/camera1] [2022-10-21 13:17:16.912] I [SPRtcSig-T3334:27941] Orchestrator | orchestrator.cpp:703 | Trying to pull stream [#default#app/camera1] from provider using origin map: PullProvider [2022-10-21 13:17:17.019] W [SPRtcSig-T3334:27941] SDP | media_description.cpp:621 | Sdp parsing error : a=framesize:98 1920-1080 [2022-10-21 13:17:17.019] I [SPRtcSig-T3334:27941] RtspcStream | rtspc_stream.cpp:355 | SDP : v=0 o=- 0 0 IN IP4 camera-xnb6000.xxx.comhttp://camera-xnb6000.xxx.com s=Media Presentation i=samsung c=IN IP4 0.0.0.0 b=AS:10296 t=0 0 a=control:rtsp://camera-xnb6000.xxx.com:554/profile2/media.smp a=range:npt=now- m=video 40072 RTP/AVP 98 b=AS:10240 a=rtpmap:98 H264/90000 a=control:rtsp://camera-xnb6000.xxx.com:554/profile2/media.smp/trackID=v a=cliprect:0,0,1080,1920 a=framesize:98 1920-1080 a=framerate:50.0 a=fmtp:98 packetization-mode=1;profile-level-id=420033;sprop-parameter-sets=Z0IAM9oB4AiflmwEAA==,aM4BFCIg m=application 40078 RTP/AVP 107 b=AS:8 a=rtpmap:107 vnd.onvif.metadata/90000 a=control:rtsp://camera-xnb6000.xxx.com:554/profile2/media.smp/trackID=m a=recvonly

[2022-10-21 13:17:17.023] W [SPRtcSig-T3334:27941] RtspcStream | rtspc_stream.cpp:380 | Ignored not supported media type : application [2022-10-21 13:17:17.025] I [SPRtcSig-T3334:27941] Provider | stream.cpp:59 | RTSPCProvider Application has started to play [camera1(100)] stream : rtsp://camera-xnb6000.xxx.com:554/profile2/media.smp [2022-10-21 13:17:17.025] I [SPRtcSig-T3334:27941] Provider | stream.cpp:49 | #default#app/camera1(100) has been started stream [2022-10-21 13:17:17.025] I [SPRtcSig-T3334:27941] MediaRouter | mediarouter_application.cpp:255 | [#default#app/camera1(100)] Trying to create a stream [2022-10-21 13:17:17.025] I [SPRtcSig-T3334:27941] MediaRouter | mediarouter_stream.cpp:54 | [#default#app/camera1(100)] Trying to create a mediarouter stream [2022-10-21 13:17:17.025] I [SPRtcSig-T3334:27941] Provider | application.cpp:180 | #default#app application has created 0 stream motor [2022-10-21 13:17:17.025] I [SPRtcSig-T3334:27941] Provider | stream_motor.cpp:137 | #default#app/camera1(100) stream has added to 0 StreamMotor [2022-10-21 13:17:17.026] I [SPRtcSig-T3334:27941] WebRTC Publisher | webrtc_publisher.cpp:451 | URL rtsp://camera-xnb6000.xxx.com:554/profile2/media.smp is requested [2022-10-21 13:17:17.058] I [StreamMotor:27981] RtspcStream | rtspc_stream.cpp:972 | Since this stream has a single track, it computes PTS alone without RTCP SR. [2022-10-21 13:17:17.058] W [OutboundWorker:27960] MediaRouter | mediarouter_stream.cpp:1040 | [#default#app/camera1] Detected out of order DTS of packet. track_id:0 dts:0->0 [2022-10-21 13:17:17.058] I [OutboundWorker:27960] MediaRouter | mediarouter_application.cpp:831 | [#default#app/camera1(100)] Stream has been created [Stream Info] id(100), msid(0), output(camera1), SourceType(RtspPull), RepresentationType(Relay), Created Time (Fri Oct 21 13:17:16 2022) UUID(985dad7b-a63b-4c46-8a64-a09b9aea3e1f/default/#default#app/camera1/i)

Video Track #0: Name(zJNhHYMw) Bitrate(0b) Codec(1,H264,Auto) BSF(H264_RTP_RFC_6184) Resolution(1920x1080) Framerate(0.00fps) KeyInterval(0) BFrames(0) timebase(1/90000) [2022-10-21 13:17:17.059] I [OutboundWorker:27960] WebRTC Publisher | rtc_stream.cpp:198 | WebRTC Stream has been created : camera1/100 Rtx(false) Ulpfec(false) JitterBuffer(false) PlayoutDelay(false min:0 max: 0) [2022-10-21 13:17:17.059] I [OutboundWorker:27960] Publisher | stream.cpp:204 | WebRTC Publisher Application application has started [camera1(100)] stream (MSID : 0) [2022-10-21 13:17:17.059] I [OutboundWorker:27960] Publisher | stream.cpp:204 | OVTPublisher Application application has started [camera1(100)] stream (MSID : 0) [2022-10-21 13:17:17.059] I [OutboundWorker:27960] Publisher | stream.cpp:204 | FilePublisher Application application has started [camera1(100)] stream (MSID : 0) [2022-10-21 13:17:17.203] I [SPICE-U10000:27946] ICE | ice_port.cpp:779 | Add the client to the port list: 172.16.0.2:56403 / Packet type : 0 GateType : 0 [2022-10-21 13:17:25.785] I [SPAPISvr-T8081:27971] HttpServer | http_server.cpp:146 | Client(<ClientSocket: 0x7ff99c001340, #57, Connected, TCP, Nonblocking, 172.16.0.2:64797>) is connected on :8081 [2022-10-21 13:17:25.795] I [SPAPISvr-T8081:27971] HttpServer | http_server.cpp:221 | Client(<ClientSocket: 0x7ff99c001340, #57, Disconnected, TCP, Nonblocking, 172.16.0.2:64797>) has disconnected from :8081 [2022-10-21 13:18:24.900] I [SPAPISvr-T8081:27971] HttpServer | http_server.cpp:146 | Client(<ClientSocket: 0x7ff99c001340, #57, Connected, TCP, Nonblocking, 172.16.0.2:64816>) is connected on :8081 [2022-10-21 13:18:24.915] I [SPAPISvr-T8081:27971] HttpServer | http_server.cpp:221 | Client(<ClientSocket: 0x7ff99c001340, #57, Disconnected, TCP, Nonblocking, 172.16.0.2:64816>) has disconnected from :8081

Thanks, Mark.

On 21 Oct 2022, at 06:55, Jeheon Han @.**@.>> wrote:

I couldn't find a way to enable audio in the camera settings you provided. Can you please tell me how can I do it?

— Reply to this email directly, view it on GitHubhttps://github.com/AirenSoft/OvenMediaEngine/issues/922#issuecomment-1286493974, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AI3XBIO373FFI426AMGN6RDWEIV3LANCNFSM6AAAAAARHIDG5Y. You are receiving this because you authored the thread.Message ID: @.***>

rebound-software commented 1 year ago

I've tracked down the cause of the exception when audio is enabled in the code below which is in project/modeuls/sdp/payload_attr.cpp line 184:

    else if(_codec == SupportCodec::MPEG4_GENERIC)
    {
        // https://tools.ietf.org/html/rfc3640#section-3.3
        // In the case of mpeg4-generic, there are several modes, which are classified by fmtp.
        // fmtp:96 profile-level-id=1;mode=AAC-hbr;sizelength=13;indexlength=3;indexdeltalength=3;config=1190

        auto params = fmtp.Split(";");
        for(const auto &param : params)
        {
            auto key_value = param.Split("=");
            if(key_value.size() != 2)
            {
                // fmtp parsing error
                logd("SDP", "fmtp parsing error : %s", fmtp.CStr());
-> needs to stop processing further here - missing continue?
            }

            auto key = key_value[0].Trim();
            auto value = key_value[1].Trim();

If param doesn't have a proper kvp then it is still processed anyway and key_value will be empty and calling Trim() causes the seg fault.

Adding a continue in the if block fixes the issue.

However, I still don't get any audio through in OvenPlayer for the WebRTC stream (I have the opus transcoder). What are the supported OME audio codecs?

The SDP for the camera is as follow with audio enabled:

o=- 0 0 IN IP4 camera-xnb6000.xxx.com
s=Media Presentation
i=samsung
c=IN IP4 0.0.0.0
b=AS:10296
t=0 0
a=control:rtsp://camera-xnb6000.xxx.com:554/profile2/media.smp
a=range:npt=now-
m=video 40828 RTP/AVP 98
b=AS:10240
a=rtpmap:98 H264/90000
a=control:rtsp://camera-xnb6000.xxx.com:554/profile2/media.smp/trackID=v
a=cliprect:0,0,1080,1920
a=framesize:98 1920-1080
a=framerate:50.0
a=fmtp:98 packetization-mode=1;profile-level-id=4D0033;sprop-parameter-sets=Z00AM9oB4AiflmwEAA==,aM4BFCIg
m=audio 40830 RTP/AVP 105
b=AS:48
a=rtpmap:105 mpeg4-generic/16000
a=control:rtsp://camera-xnb6000.xxx.com:554/profile2/media.smp/trackID=a
a=recvonly
a=fmtp:105 profile-level-id=15; streamtype=5; mode=AAC-hbr; config=1408; SizeLength=13; IndexLength=3; IndexDeltaLength=3; profile=1; bitrate=48000;
m=application 40834 RTP/AVP 107
b=AS:8
a=rtpmap:107 vnd.onvif.metadata/90000
a=control:rtsp://camera-xnb6000.trampolineleague.com:554/profile2/media.smp/trackID=m
a=recvonly

Is AAC HBR supported?

rebound-software commented 1 year ago

It appears as though there is an issue with transcoding (and abr) in v0.14.13.

Reverting to an earlier version and applying the fixes to this code gets the camera streaming both video and audio successfully to OvenPlayer via WebRTC the difference being that transcoding works with this version to convert the audio to opus codec. I also see the video transcoded as per my server config xml whereas with v0.14.13 the video is just passed through despite that not being present as an option in the config.

I can confirm that the RTSP Pull is now working correctly with the fixes applied so will raise a separate issue for the transcoding problems.

getroot commented 1 year ago

I tried to reproduce this issue again but it no longer connects to your RTSP camera. Could you please give me access again?

getroot commented 1 year ago

The cause of the crash you found is correct to add continue; as you said. There is a;at the very end of your fmtp . This is the wrong format. But the server shouldn't crash nonetheless. I patched that part. thank you!

If you reopen the RTSP camera I'll try to find out why the audio doesn't work.

rebound-software commented 1 year ago

Camera is back on - forgot to plug it back in after testing yesterday.

On 24 Oct 2022, at 10:11, Jeheon Han @.**@.>> wrote:

The cause of the crash you found is correct to add continue; as you said. There is a;at the very end of your fmtp . This is the wrong format. But the server shouldn't crash nonetheless. I patched that part. thank you!

If you reopen the RTSP camera I'll try to find out why the audio doesn't work.

— Reply to this email directly, view it on GitHubhttps://github.com/AirenSoft/OvenMediaEngine/issues/922#issuecomment-1288700124, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AI3XBIOBNEUJ7Z2E4W5FTWLWEZHCJANCNFSM6AAAAAARHIDG5Y. You are receiving this because you authored the thread.Message ID: @.***>

getroot commented 1 year ago

We fixed an issue where RTSP was not transcoding in the latest version. Please check if the master branch solves your problem. Thank you for your report.

rebound-software commented 1 year ago

I've done some testing and transcoding is now working so I get a WebRTC feed though to the browser at the correctly transcoded bit rate with audio :-)

However, when doing some load testing with 6 camera feeds being requested at the same time, only one or two feeds establish to a good connection with v0.14.14 from a "cold" start i.e. sytemctl restart. On subsequent attempts when the camera streams are already running, the WebRTC viewers reliably establish a feed (it seems as though the camera streams aren't dropping after the configured timeout in Server.xml but I'm still investigating to determine if it's my JS app or OvenMediaEngine causing this). With an older version of OME (v14.0.0) all the 6 camera feeds establish reliably from a cold start.

I'm seeing these messages suggesting maybe a resourcing issue?: [2022-10-30 14:32:43.631] W [StreamMotor:29353] ov.Queue | queue.h:268 | [0x7f6c30035fc8] #default#app/camera2-MR-Inbound size has exceeded the threshold: queue: 100, threshold: 100, peak: 100 [2022-10-30 14:32:54.582] W [InboundWorker:29309] ov.Queue | queue.h:268 | [0x7f6c30070a88] Input queue of Decoder. track(0) codec(h264/27) size has exceeded the threshold: queue: 120, threshold: 120,

Full log files attached. ovenmediaengine_mult_cams_ok.log ovenmediaengine_mult_cams.log

getroot commented 1 year ago

@mrw-s 0.14.0 did not encode, 0.14.14 seems to be encoding. This is a performance issue. You may need to measure your nvenc performance (GPU utilization) or adjust the threads in OME. https://airensoft.gitbook.io/ovenmediaengine/performance-tuning

Please close this issue and open a new issue if you have problems with encoding.

rebound-software commented 1 year ago

Thanks - I will investigate further. Closing this issue as the original problem is resolved.