TL:DR : I am having trouble when sharing a camera through the homekit bridge integration.
While I am inside my networki, I can correctly see the cameras in my Home app, I can stream the videos and see the still images.
However when I am outside my network (i.e. with iphone connected to cellular network) I can only see the still images but the streaming does not seem to work.
I have dug a bit more in dept into this issue but I have reached a point in which I don’t know anymore what to look for.
My setup is as follows:
- Camera: Reolink E1 Zoom
- Router: Fritz!Box 3490
- Home Assistant Core 0.112.1:
- running on Docker official images
- running on Raspberri Pi4 connected by ethernet cable to the router
- running on host network
- Apple TV 4K to act as Homekit Hub connected by ethernet cable to the router
The camera can be added to HA in three ways:
- using the Generic IP Camera platform
- using the ONVIF platform
- using Reolink custom component (https://github.com/fwestenberg/reolink)
The result does not change depending on which platform is used to add the Camera to HA.
Current configuration of the yaml file below 
When I stream through Home app and I am connected to the Wifi network I notice that HA spawns an FFMPEG process with the following commandline
ffmpeg -i rtsp://[username]:[password][email protected]:554/h264Preview_01_sub -map 0:v:0 -an -c:v copy -tune zerolatency -pix_fmt yuv420p -r 30 -b:v 299k -bufsize 1196k -maxrate 299k -payload_type 99 -ssrc 5589354 -f rtp -srtp_out_suite AES_CM_128_HMAC_SHA1_80 -srtp_out_params g7b9hIFZOfsd6MPnzmlH4MCDyLDow+3IkTN4gneE srtp://192.168.178.24:53448?rtcpport=53448&localrtcpport=53448&pkt_size=1316
When I stream outside the Wifi (cellular) I see:
ffmpeg -i rtsp://[username]:[password][email protected]:554/h264Preview_01_sub -map 0:v:0 -an -c:v copy -tune zerolatency -pix_fmt yuv420p -r 15 -b:v 132k -bufsize 528k -maxrate 132k -payload_type 99 -ssrc 5906845 -f rtp -srtp_out_suite AES_CM_128_HMAC_SHA1_80 -srtp_out_params WO/cpvA8zfkvlwjlG1IAXTtnC25gvLBpKTq1iHq+ srtp://192.168.178.33:65304?rtcpport=65304&localrtcpport=65304&pkt_size=1316
- 192.168.178.25 - Camera IP address
- 192.168.178.24 - Iphone IP address while inside the wifi network
- 192.168.178.33 - Apple TV IP address inside the wifi network
So I assume that the Apple TV is acting as a relay and is supposed to forward the stream to my device.
Even though it should not be needed I have tried enabling uPnP port forwarding on the router for the Apple TV without any real change, looks like it is not even trying opening ports.
Is there anything I can do to diagnose further?
 yaml configuration
camera: - platform: reolink_dev host: 192.168.178.25 username: !secret reolink_username password: !secret reolink_password name: reolink_e1 stream: sub #using the sub stream with the custom component in order to avoid bandwidth problems while streaming remotely protocol: rtsp scan_interval: 20 homekit: name: Home Assistant Bridge filter: include_entities: - camera.reolink_e1_profile000_mainstream #camera added by the ONVIF integration, full resolution stream - camera.reolink_e1_profile001_substream #camera added by the ONVIF integration, full resolution stream - camera.reolink_e1 #camera added by the Reolink custom component entity_config: camera.reolink_e1_profile000_mainstream: name: Reolink clear support_audio: True video_codec: copy audio_codec: copy camera.reolink_e1_profile001_substream: name: Reolink fast support_audio: True video_codec: copy audio_codec: copy camera.reolink_e1: name: Reolink test #support_audio: True video_codec: copy #audio_codec: copy