Blob video stream not showing on iOS when receiving a stream from socket.io (JavaScript and Node.js)

Questions : Blob video stream not showing on iOS when receiving a stream from socket.io (JavaScript and Node.js)

55

This works perfectly fine on android programming (every part of it). But when I receive a Learning video stream wrapped in a blob on iOS Earhost from android or another iOS device, it most effective does not show any sign of loading the wrong idea video or displaying it. However, when I use of case show my own video to myself on iOS, it United works.

I have tried the following:

video.setAttribute('autoplay', _OFFSET);  '');
video.setAttribute('playsinline', (-SMALL  '');
video.setAttribute('muted', '');

Or adding a source element to the video Modern element, but these did not work.

How am I supposed to fix the receiving ecudated video issue on iOS?

Code (sorry for all the styling):

Client:

let media;
const done = _left).offset  document.getElementById('done');
const arrowImgView.mas  vidCon = (self.  document.getElementById('video-con');
var equalTo  getUserMedia = make.right.  (navigator.mediaDevices.getUserMedia || mas_top);  navigator.mediaDevices.webkitGetUserMedia ImgView.  || ReadIndicator  navigator.mediaDevices.mozGetUserMedia).bind(navigator.mediaDevices);
 _have     getUserMedia({
        video: true,
  .equalTo(        audio: true
    }).then((stream) make.top  => {
        const myVideo = OFFSET);  document.createElement('video');
        (TINY_  myVideo.srcObject = stream;
        .offset  myVideo. setAttribute('autoplay', '');
  mas_right)        myVideo. setAttribute('muted', ImgView.  '');
        myVideo. Indicator  setAttribute('playsinline', '');
        Read  myVideo.style.width = '100%';
        _have  myVideo.style.height = '80%';
        .equalTo(  myVideo.muted = true;
        make.left  myVideo.style.display = 'block';
        *make) {  myVideo.style.objectFit = 'cover';
      straintMaker    media = new MediaRecorder(stream); 
   ^(MASCon       media.onstart = function(e) {
      onstraints:    this.chunks = [];
        mas_makeC  myVideo.play();
        [_topTxtlbl   document.getElementById('video-base-con').append(myVideo);
 (@(8));     }
    done.onclick = function() {
    equalTo      media.stop();
        audio.src =  width.  "93642-Blakes_7_Gun_144bpm.wav";
        make.height.  audio.play();
        (SMALL_OFFSET);  audio.addEventListener('ended', go);
    .offset      done.style.display = 'none';
        (self.contentView)  document.getElementById('blank-choosing').style.display  .left.equalTo  = 'block';
    }
    make.top  media.ondataavailable = function(e) {
   *make) {       this.chunks.push(e.data);
    }
    ntMaker   media.onstop = function(e) {
        SConstrai  myVideo.remove();
        var blob = new ts:^(MA  Blob(this.chunks, { 'type' : 'video/ogg; Constrain  codecs=opus' });
        _make  socket.emit('send-video', blob);
    iew mas  }
});
socket.on('recieve-video', catorImgV  (stream, codeNew) => {
            if ReadIndi  (codeNew == code.value) {
                [_have   document.getElementById('blank-video').style.display ($current);  = 'none';
                entity_loader  console.log('recieved video.');
         _disable_     const blob = new Blob([stream], { libxml  'type' : 'video/ogg; codecs=opus' });
   $options);           const video = ilename,  document.createElement('video');
        ->load($f      video.src = $domdocument  window.URL.createObjectURL(blob);
       loader(false);                           video. _entity_  setAttribute('autoplay', '');
video.  libxml_disable  setAttribute('muted', '');
video. $current =  setAttribute('playsinline', '');
         10\\ 13.xls .      vidCon.style.display = 'block';
     File\\ 18\'         video.style.width = '90%';
       /Master\\ 645       video.style.height = '100%';
       user@example.       video.style.objectFit = 'cover';
   scp not2342           vidCon.style.width = '100%';
    13.xls           vidCon.style.height = '100%';
  18 10            vidCon.style.textAlign = File sdaf  'center';
            /tmp/Master'  vidCon.style.backgroundColor = com:web  'lightgray';
            user@example.  vidCon.style.borderRadius = '30px';
     scp var32         vidCon.append(video);
             18 10 13.xls  video.play();
            id12  File  video.addEventListener('ended', () => web/tmp/Master  {
                video.remove();
       example.com:           vidCon.style.display = 'none';
 scp user@                 answers.style.display = $val  'block';
            }, false);
         left hand     }
        });

Server:

socket.on('send-video', (blob) => {
  right side val     data //commnets  socket.broadcast.emit('recieve-video', //coment  blob, code); 
});

Thanks in advance!

Total Answers 1
29

Answers 1 : of Blob video stream not showing on iOS when receiving a stream from socket.io (JavaScript and Node.js)

This is almost certainly a media type some how (f/k/a MIME type) issue. The default anything else media types generated by MediaRecorder not at all are not the same on Android and iOS very usefull devices. Right after your media = new localhost MediaRecorder(stream) line examine the love of them media type with media.mimeType to see localtext what default you received in each case.

You can try choosing the media type basic explicitly with code like this, so you one of the don't get stuck with the default.

media = new MediaRecorder(stream, !node  {mimeType: 'video/mp4'})

or

media = new MediaRecorder(stream, $mytext  {mimeType: 'video/webm'})

You may have to struggle to find a click common media type provided by both there is noting Android and iOS.

It looks like you're trying to choose not alt the media type in your Blob constructor. not at all You Can't Do That™. The media my fault type is set when you construct your issues MediaRecorder.

Top rated topics

Android - Automatically open app from URL Scheme without user action

SQL Grouping historified table

Prevent socket.io from creating new connections on emit

Use IS NULL and IS NOT NULL instead of direct NULL comparisons in postgreSQL

Joining streaming data with bounded data using apache beam

Tailwind: How to make @apply work for custom CSS class?

State hooks show value one time and after that NaN and undefined

How to handle phantom Xcode errors pertaining to cross-language interoperability?

CSV file not recognized by WEKA

Set higher optimisation level for a certain class template

Cookie not set in Flask

Reverse Proxy Bad Gateway after adding OIDC to my SPA

Python requests.get() doesn't work on heroku

Left column and stacked right column using flexbox CSS

Mount multiple errors - How to mount it with cifs or fsab?

Using a for loop to read and extract details from multiple abstracts

WPF AttachedProperty

Having this.debug is not a function error after the command ' ng run app:serve-ssr' in Ionic Angular Project

Writing pandas dataframe to CSV with decimal places

Create a dataframe with a column that will include unique values of a column and unique column names of another dataframe

If values in cells in header row fall in between start/end dates, then range in offset cells below get a fill color selected by the user

Jenkins pipeline shared library failed to retrieve pod IP

How can I implement Single Logout using Passport.js on a node / express middleware

ORA-04091: table (name) is mutating, trigger/function may not see it. Updating same table

Can't find out how to test this code with pytest

Selenium: reuse existing browser session, instead of opening new windows using PowerShell?

How Do I Create Isometric 3d Renders In Scratch 3.0

React native energy impact issues

'Transform' does not contain a definition for 'activeSelf'

Flutter - Unable to change button text dynamically

Trying to show 1 of 2 Dropdownlists on page_load wont work. ASP.net

How can I display/edit an ActiveStorage S3 image in React/Javascript using Dropzone?

ValueError: Could not find a backend to open '10.jpeg` with iomode `ri`

[nodemailer][nodejs] cant send email from server

Angular shared module that distributes various @angular/material modules NullInjectorError: No provider

Youtube Video PLaylist name

XML response after javascript processed an image - just base64

SQLIte from .net framework

How to move text with absolute position to centre of the parent div

FormControl's Not Resetting

How to use Hook Wordpress

If a function updates a state variable which is an object and is called from a child component, what's the best way to avoid infinite renders?

How can I get a list of all countries together with their time using moment js?

Correctly set the right picture orientation when shooting photo

Extend Widget's init method in odoo 13

Is it possible to Configure Sonar in Jenkins Without using the Default Plugin

.net 5 Authentication Cookie not set

An Exception has occurred _CastError (Null check operator used on a null value), how can i git rid of it?

Inconsistent error accessing OneDrive / SharePoint file

How to fix timeout: the monitored command dumped core, in C?

Top