https://discord.cloudflare.com logo
Join Discord
Powered by
# stream
  • h

    heeseo

    02/17/2023, 11:03 PM
    I am using streaming service in Korea. As a result of transmission from OBS through RTMP, infinite buffering or a lot of disconnection continues. Even when someone entered a site with stream iframe in another IP and checked it, infinite buffering or a lot of disconnection continued. As a result of checking the 'cf-ray' in the header values of the m3u8 and mp4 files through the developer tool, it was confirmed that the server in the Republic of Korea (ICN) is used. It was transmitted normally, and the server also uses domestic servers for streaming, but I don't know why the above phenomenon occurs. In the beginning, if you enter console in the developer tool, you will see "sdk-iframe-integration.fla9.latest.js?video=2bea706dd50352df5db124378086cf00:2 POST https://sentry.io/api/227831/store/?sentry_version=7&sentry_client=raven-js%2F3.21.0&sentry_key=4f4068995ec7427cbdaab19321083a67 429 (Too Many Requests)" Alternatively, an error message such as "net::ERR_BLOCKED_BY_CLIENT" appears. I would like to ask you guys for advice.
    r
    k
    • 3
    • 45
  • r

    Rachel

    02/18/2023, 2:29 AM
    What you could do is to run it through a proxy, maybe even as FaaS on worker
  • r

    Rachel

    02/18/2023, 2:30 AM
    Can you open a support ticket? That sounds like a billing issue
  • w

    wenzani

    02/18/2023, 12:05 PM
    Will do thanks Rachel
  • j

    JustDalek_

    02/20/2023, 3:55 AM
    Hello all!. I am using cloudflare stream in the following config and I am having users unable to view the web embed stream: I am sending my OBS feed direct to cloud flare I use the web player on my website I also re-broadcast from cloudflare to tiktok and restream.io (Restream.io because if I let them handle my twitch and youtube I can use their chat app) When I first signed up for stream, I used this same config. The web embed player worked great!. --The past few streams, none of my users can watch this for longer than 3 mins at best. Sometimes the stream does not even start.-- The same was applicable for me, I was monitoring my web embed and it lasted a few minutes or buffered indefinitely. Some users are on desktop, some on mobile. Personally tested using brave browser, one user with safari mobile, other with vanilla chrome on desktop. The streams on all other platforms work flawlessly though. My Upload: I am broadcasting using 1080P 30FPS x264 encoder 8,000 kbps bitrate on a 40MBPS upload Keyframe interval = 2 The main reason I am using stream is because I needed a CDN for my own website and stream happens to have the web player too. Can someone assist me with this by chance? Any thoughts on how to further troubleshoot would be appreciated! Thank you for your time!
    k
    • 2
    • 28
  • r

    redoPop

    02/20/2023, 4:11 PM
    @Rachel Finally got around to testing h264. It's working well for me sending from either GStreamer or Chrome, and receiving on Mac Chrome and Firefox as well as desktop & mobile Safari. 🎉 One oddity, unrelated: when I'm using GStreamer's new whipsink as sender and an iOS client with iCloud Private Relay enabled as receiver, Mobile Safari isn't able to parse video packets. The audio track looks fine, but video stats show a flood of PLIs – it's not even able to recognize the codec. Applies to VP8 as well. This is a new feature in GStreamer, so I assume it's a rough edge or just naivety in my own use, but seemed a useful heads-up for the team in case RW clients have Apple-specific playback issues.
  • d

    DemosJarco

    02/20/2023, 8:43 PM
    Is there documentation for the
    customer-<unique id here>.cloudflarestream.com/<stream id here>/
    endpoint(s)? All I know about is the
    /views
    one
  • d

    DemosJarco

    02/20/2023, 9:06 PM
    For example how can we get these details (I'm referring to the numeric values, I know you can get connected/disconnected via the api)
  • d

    DemosJarco

    02/20/2023, 10:06 PM
    Hmm I found a
    wss://live-status.videodelivery.net/websocket/source/<insert rtmps stream key>/status
    (it's always the rtmps stream key even if you're not using rtmps to stream in)
  • t

    tt2468

    02/20/2023, 10:10 PM
    Yes, the websocket is where the data comes from. It's not an official API but it's nicely integratable into third-party code
  • d

    daniel_klungo

    02/21/2023, 8:55 AM
    is there a "Direct creator upload" way to add captions to a video? https://developers.cloudflare.com/stream/edit-videos/adding-captions/
  • d

    daniel_klungo

    02/21/2023, 8:56 AM
    considering captions are max 10MB, it's okay to pipe them through our server, but could be a convenience 🙂
  • d

    daniel_klungo

    02/21/2023, 3:07 PM
    you probably already know this, but
    List downloads
    and
    Create downloads
    are both shown twice in the new docs
  • d

    daniel_klungo

    02/21/2023, 3:08 PM
    no double love for
    Delete downloads
    though feelsbadman
  • k

    kian

    02/21/2023, 3:10 PM
    you double create and then single delete, working as intended /s
  • d

    daniel_klungo

    02/21/2023, 3:10 PM
    makes sense! CF edition of "measure twice, cut once"
  • k

    kian

    02/21/2023, 3:12 PM
    raised the bug to the team anyhow - thanks for reporting it
  • d

    daniel_klungo

    02/21/2023, 3:28 PM
    sweet! I really wish more of the example responses from the old docs were available in the new ones too
  • d

    daniel_klungo

    02/21/2023, 3:28 PM
  • d

    daniel_klungo

    02/21/2023, 3:29 PM
    the old docs has actual information about the
    result
    , while the new ones - for tons of stuff - only say "object"
  • k

    Kyle_Cloudflare

    02/21/2023, 4:03 PM
    I don't believe we support direct creator uploads for captions today. @Mickie Betz this could be interesting future caption work
  • r

    redoPop

    02/21/2023, 11:34 PM
    Question about the WHIP/WHEP template code: what circumstance is this timeout intended to rescue from? In one of my more extreme tests, it exhausted before ICE gathering was complete, resulting in a malformed ICE connection. https://github.com/cloudflare/workers-sdk/blob/14e7e0c6d229e3b9fc2a756cc50e5f6d10c091e1/templates/stream/webrtc/src/negotiateConnectionWithClientOffer.ts#L80-L82
  • c

    computeronix

    02/22/2023, 5:03 PM
    Now that unique subdomains are available -> is there going to be an option to allow for using custom domain linked in the account rather than the unique subdomain so for example if i own example.com stream.example.com would point to my unique subdomain on the cloudflare stream service. (today cname cross domains are banned like this) by allowing this, it would make CSPs stronger as you would only need to allow your main site and not extra domains in addition the traffic flow would be captured in your tenant under the domain and could use WAF and other capabilities to restrict acces depending on attack // monitor
  • d

    DemosJarco

    02/22/2023, 11:42 PM
    For the webhook, what domain does it come from?
  • j

    jmak

    02/23/2023, 1:09 AM
    Hi, I have a followup question for something I am working on. I currently have a base64 encoded image, what is the best way to upload and send that over to cloudflare for image storage? It seems that the images API requires either URL or a file to be made, but would stream allow me to just directly stream the image into the server and have it hosted and saved there?
  • d

    deepdev

    02/23/2023, 3:21 PM
    HI, has anyone got the CF template working to share a browser window and stream it to CF via WebRTC? I used the template in the webrtc/src folder and was able to run that and my Mac to stream video to CF via the Publish endpoint and view it via the Play endpoint. However, I've adjusted the sample code to prompt for a Window (selfBrowserSurface) stream source but then I get the following errors when I try to publish the stream.
  • d

    deepdev

    02/23/2023, 3:21 PM
    [Log] Connection negotiation starting (WHIPClient.js, line 31) [Error] Failed to load resource: the server responded with a status of 406 () (publish, line 0) [Error] Expecting SDP to send two media streams with 1 video and 1 audio with direction sendonly (anonymous function) (negotiateConnectionWithClientOffer.js:54) asyncFunctionResume (anonymous function) promiseReactionJobWithoutPromise promiseReactionJob [Error] Failed to load resource: the server responded with a status of 409 () (play, line 0) [Error] Livestream is currently not active (anonymous function) (negotiateConnectionWithClientOffer.js:54) asyncFunctionResume (anonymous function) promiseReactionJobWithoutPromise promiseReactionJob
  • d

    deepdev

    02/23/2023, 3:22 PM
    this is how I adjusted the sample code to prompt for the browser window as a stream source:
  • d

    deepdev

    02/23/2023, 3:23 PM
    async accessLocalMediaSources() { return navigator.mediaDevices.getDisplayMedia({ video: true, audio: true, selfBrowserSurface: "inclulde" }).then(stream => { stream.getTracks().forEach(track => { const transceiver = this.peerConnection.addTransceiver(track, { /** WHIP is only for sending streaming media */ direction: 'sendonly', }); if (track.kind == 'video' && transceiver.sender.track) { transceiver.sender.track.applyConstraints({ width: 1280, height: 720, }); } }); return stream; }); }
  • d

    deepdev

    02/23/2023, 3:25 PM
    in the AccessLocalMediaSources function, I only changed getUserMedia to getDisplayMedia and passed the configuration options. This does prompt me to share a window and I can select the window in the Browser's prompt but then I just get a green screen in the "local input video element" and the errors in the console that I listed above...
1...767778...105Latest