Giter Club home page Giter Club logo

ziggeo-client-sdk's Introduction

Ziggeo Client SDK 2.43.3

Ziggeo API (https://ziggeo.com) allows you to integrate video recording and playback with only two lines of code in your site, service or app. This is the Client SDK repository for V2.

Client-Side Integration

For the client-side integration, you need to add these assets to your html file:

<link rel="stylesheet" href="build/ziggeo.css" /> 
<script src="build/ziggeo.js"></script> 

Then, you need to specify your api token:

<script>
	var ziggeoApp = new ZiggeoApi.V2.Application({
		token: "APPLICATION_TOKEN"
	}); 
</script>

You can specify other global options, see here.

To fire up a recorder on your page, add:

<ziggeorecorder></ziggeorecorder> 

To embed a player for an existing video, add:

<ziggeoplayer ziggeo-video='video-token'></ziggeoplayer> 

For the full documentation, please visit ziggeo.com.

Build yourself

npm install
npm run build

License

Copyright (c) 2013-2023 Ziggeo

Proprietary License

ziggeo-client-sdk's People

Contributors

bane-d avatar bansal84k avatar enzomzaocv avatar fuadreza avatar getyamame avatar idanyman avatar iglesiaspablo avatar jikuja avatar krisfremen avatar lordvins226 avatar mathias-videocv avatar ntshcalleia avatar oliverfriedmann avatar ozdemirburak avatar philrussel21 avatar princezna avatar printf-ana avatar sambua avatar ziggeo-commits avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ziggeo-client-sdk's Issues

recorder: input_bind only works once

Expected:

  • clicking 'Redo' should empty out the bound field
  • recording a new video should populate the bound field

What happens:

  • The field is set on the initial recording, but clicking 'Redo' doesn't clear the field and recording a new video doesn't set the field.

Moderation issue with native capture (params?)

We are creating our video integration test with the Ziggeo API using following:

According to your docs, 'create': https://ziggeo.com/docs/sdks/javascript/api

We capture the video with native video recorder then give recorded video file passing here with filesObject

var videoObject = { 'file': filesObject, 'min_duration': 0, 'max_duration': 15, 'tags':'share', 'volatile': true } ZiggeoApi.Videos.create(videoObject, {

and create success callback calling

ZiggeoApi.Videos.update(videoToken , {submitted:true,approved:true}, {

and thus we get a success on the update.

But seems here we are missing some params to be sent on create. After having reviewed the docs, we are not sure what those are. Any guidance would be much appreciated. Although in the Ziggeo dashboard we see (after setting the videos to approved), that they are, we are tying to do this by defaults so no upload requires any moderation. Currently the videos tell us they require moderation and to contact support.

See the list of params here, https://ziggeo.com/docs/sdks/javascript/browser-integration/parameters#javascript-revision=v1-stable&javascript-version=v1
but is there required ones we are not or incorrectly using?

(@oliverfriedmann any ideas?) Thanks.

[Recorder] Update tags

I have an application, which allows you to rerecord.

My problem is that when performing an embedding.rerecord(), I update values such as time, but the tags do not update them. I can validate this both on the webhook, and by consulting https://embed.ziggeo.com/v1/applications/my-token/videos/my-token

Why do I still receive the tags of the first recorded video? Can i change the tags? Why do I still receive the tags of the first recorded video? Can I change the tags when executing embedding.rerecord()?

Identifier 'e' has already been declared

Hi! o/

I'm trying to use react-ziggeo in my Next.js project. But I getting a error in ziggeo-client-sdk:

./node_modules/ziggeo-client-sdk/build/ziggeo.js 11:24462 Module parse failed: Identifier 'e' has already been declared (11:24462) You may need an appropriate loader to handle this file type.

(full error in: https://pastebin.com/aSq8ZSdk)

Any ideas whats happening?

Recorder fails on Firefox [Nightly 63.0a1]

Testing with Ziggeo recorder demo
After camera and microphone access is given this error is thrown and the recorder is stuck on loading.

TypeError: Argument 1 is not valid for any of the 1-argument overloads of URL.createObjectURL.

Was happening on Firefox Nightly 63.0a1 (I've not the Firefox "stable" version installed to test atm).

Cannot read property 'get' of undefined Error

Hey there,

We are using the react-ziggeo wrapper to record and play videos on our platform. Sometimes we are getting a exception report about Cannot read property 'get' of undefined.

Unfortunately, I can only give you the line numbers of the bundled application. I hope that helps anyhow. Please find attached a screenshot of the stacktrace as well.

// In Line 10890
{snip} ion(e){return this.__properties.hasKey(e)},get:function(e){return this.__properties.get(e)},setProp:function(e,t){return this.__properties.s {snip}

Screenshot 2019-05-07 at 08 44 12

The exception has been thrown on a Mac OSX 10.14.4, using Chrome version 74.0.3729.

Is there anything we can do about this?

Have a great day

Video upload failing on Safari 13.1 about half the time.

We noticed on our server that video uploads were sometimes failing when using Safari. A user would record a video and eventually see "Verifying failed - click here to retry". Clicking to retry the verification would always result in another failure.

I can reproduce with a simple test case, running the following locally on my computer (using python -m http.server 8001 to serve file locally, and replacing the token with a valid one)

<html>
<head>
    <link rel="stylesheet" href="https://assets.ziggeo.com/v2-stable/ziggeo.css"/>
    <script src="https://assets.ziggeo.com/v2-stable/ziggeo.js"></script>
    <script>
      var ziggeoApp = new ZiggeoApi.V2.Application({
        token: 'xxx',
        webrtc_streaming_if_necessary: true,
        webrtc_on_mobile: true
      })
    </script>
</head>
<body>
<h1>TEST ZIGGEO JS</h1>
<div id="replace_me-v2_recorder" style="width: 100%"></div>
<script>
  ziggeoApp.on('ready', function () {
    var recorder = new ZiggeoApi.V2.Recorder({
      element: document.getElementById('replace_me-v2_recorder'),
      attrs: {
        height: 400,
      }
    })
    recorder.activate()
  })
</script>
</body>
</html>

The video upload/verification works sometimes, and fails sometimes - I'd guess about 50% success rate

During the a failing verify process, ziggeo js is polling (with HTTP POST)
/v1/applications/xxx/videos/xxx/streams/xxx/recordersubmit

and always getting a response:

{
    "status": 412,
    "responseText": "Could not read video file"
}

I've been testing with Safari 13.1 on macOS 10.15.4

Any ideas? Happy to provide more info if required.

"Error" events

For some reason, when I'm using a widget as a popup with only upload option available and try to upload something other than a video file, an error event is not triggered. I can see POST error (412 Precondition Failed) in the console and a widget is just stuck at "Preparing covershots".

Version of the ziggeo sdk is 2.34.1.

Initialized with these parameters:

new ZiggeoApi.V2.PopupRecorder({ attrs: { timelimit: 180, allowrecord: false, allowupload: true, manualupload: true, flashincognitosupport: true, forceoverwrite: true, responsive: true, rerecordable: false, customcovershots: false, localplayback: false, }, })

Event listeners not functioning in mobile browsers when using the Ziggeo recorder

I am encountering an issue with event listeners not functioning in mobile browsers when using the Ziggeo recorder in a React project.

Steps to Reproduce:

  1. Initialize the Ziggeo recorder in a React project using the ziggeo-client-sdk version 2.43.3.
  2. Set up event listeners to observe events emitted from the Ziggeo recorder, such as the ready_to_record event.
  3. Attempt to trigger the event on both desktop and mobile browsers.
  4. Observe that the event listener works correctly on desktop browsers but not on mobile browsers.

Expected Behavior:

The event listener should work consistently across both desktop and mobile browsers, allowing proper observation of events emitted from the Ziggeo recorder.

Actual Behavior:

The event listener functions as expected in desktop browsers but fails to trigger in mobile browsers.

Environment:

  • ziggeo-client-sdk version: 2.43.3
  • React version: 17.0.2
  • Mobile browser(s) tested:
    - Safari - 17.4.1
    - Chrome(android) - 123.0.6312.99
    - Chrome(iOS) - 123.0.6312.52

Reproducible Code Example:

// Sample code used to initialize Ziggeo recorder and set up event listeners
// Please note that this is a simplified example for demonstration purposes

// Initialize Ziggeo recorder
ziggeoInstance.on('ready', () => {

    const recorderOptions = {
        width: 100,
        height: 100,
        maxheight: theme.getSpacing(136),
        skipinitial: true,
        allowupload: false,
        allowrecord: false,
        rerecordable: false,
        earlyRerecord: true,
        showplayersettingsmenu: false,
        responsive: true,
        deleteoldstreams: true,
        displaytimer: true,
        allowcustomupload: false,
        picksnapshots: false,
        theme: 'minimalist' as const,
        countdown: 3 as const,
        preventReRenderOnUpdate: true,
        timelimit: maximumTimeSeconds || 600,
        videobitrate: 2000,
        showsettings: false,
        showsettingsmenu: false,
        camerafacefront: true,
        flipCamera: true,
        localplayback: true,
        'expiration-days': expirationInDays,
        tags,
        framerate: 20,
    };

    new ZiggeoApi.V2.Recorder({
        element: recorderElement.current,
        attrs: recorderOptions,
    });
});

// useEffect hook to observe events emitted from Ziggeo client
recorder.on('ready_to_record', () => {
    // Do Something
    // The things we are doing inside this work fine in desktop browsers, but not in mobile browsers
});

Unminified Source

Are you able to include the unminified source code in the repo? It would help with debugging, and we may want to fork it to do customizations for our use case.

Thanks!

Confusing versioning

I don't get the versioning system of ziggeo client sdk.
Looks like there is a map between client sdk and Ziggeo api version?

At the time of this writing the head tag generator gives me
https://assets.ziggeo.com/v2-stable/ziggeo.js
for the latest stable version, which makes me believe v0.0.30 is the last stable version, but I cannot find any v2.30.0.

Currently I'm using v2.33.2 which I know by inspecting console that's is a prerelease version.

How can I easily figure the mapping between them and get the latest stable version through npm registry?

Transcoding make file corrupted

Video getting corrupted on using transcoding. Video wont display and its not getting transcoded also. Need urgent fix for this. Multiple videos got corrupted because of this.

[React Recorder] Vp8 codec for video with audio

Hello everyone,
there is a problem with the getUserMedia API and codecs used by Ziggeo React component so under Firefox the React component doesn't work.

The problem

Under Firefox 71.0 with Fedora 30 we wrote a component that render the but only after acquired access from audio and video. So by doing that and how to reproduce we get this error:

An audio track cannot be recorded: video/webm;codecs=vp8 indicates an unsupported codec

But on the same browser we done some test. So the vp8 codec is available and by executing:

>>> MediaRecorder.isTypeSupported("video/webm;codecs=vp8")
true
>>> MediaRecorder.isTypeSupported("video/webm;codecs=vp8,opus")
true
>>> MediaRecorder.isTypeSupported("video/webm;codecs=vp8,vorbis")
false

We check the availability of the recording capability of the browser right?

How to reproduce

We use:

  • React recorder API;
  • access to private a function of the recorder;
  • Firefox 71.
import { ZiggeoRecorder } from "react-ziggeo";
....
//react component
function functionalComponent(props){
	...
    //some logic
    ...
    render <ZiggeoRecorder
          timeminlimit={60}
          timelimit={120}
          countdown={10}
          rerecordable={false}
          picksnapshots={false}
          skipinitial
          apiKey={API_KEY}
          flip-camera={true}
          autorecord
          gallerysnapshots={0}//to avoid the selection phase before uploading
          onCountdown={() => {
          //connected on the issue ...
            if (recorderRef.current.recorder.recorder._recorder._options.videoId !== videoDeviceId)
              recorderRef.current.recorder.recorder._recorder.selectCamera(
                videoDeviceId
              );
          }}
          onRecording={...}
          onProcessed={...}
          onEnded={...}
          onProcessing={...}
          onUploadProgress={...}
          onAttached={...}
          onRef={...}
        /> ;
}

The codec vp8 and the presence or not of audio in the stream requested

Another test was made not on ZiggeoRecorder but on a custom recorder component made by wrapping the MediaRecorder api.
When a MediaRecorder is created from a stream without the audio (so by retrive a ...getUserMedia({video: true, audio: false})), by specifing the codec vp8 in the MediaRecorder the recording works well. As expected (i don't know why but the problem is reproducible) with a stream created from ...getUserMedia({video: true, audio: true}) the MediaRecorder fail as Ziggeo recorder fail.

Question

  1. What is the proper method to set a specific deviceId for video and audio in the javascript recorder?
  2. Is there a method to set a different codec?

Thank you

[Docs] Upload video from ZiggeoApi.videos.create(...)

Good morning,
I'm trying to upload a video in HD to Ziggeo by using the API [https://ziggeo.com/docs/sdks/javascript/api].

I see in others issues how to use the new api of /v1/applications/application_token/videos as:

const ziggeo = new window.ZiggeoApi.V2.Application({
            token: config.ZIGGEO_API_KEY,
            debug: true,
        });
ziggeo.videos.create(
            {// this are the parameter for the data_object that you mention in the docs
                file: DATA_THAT_WILL_BE_UPLOADED,
                tags: 'test_101',
                volatile: false,
            }
        ).success(
            result => {
                console.log("Result from updating: ", result);
            }
        ).error(
            error => {
                console.warn("Error from updating: ", error);
            }
        );

(https://ziggeo.com/docs/sdks/javascript/api)

  • Which parameter for the data_object should i use to correctly upload an HD video ? Can you produce a working example?
  • What type of vido file (in the property file ov the data_object) i have to produce for this method? A Blob? A file? A bytearray? The docs doesn't say anything.
  • What is the purpose of the debug property in the costructor of the Application API? I think it doesn't work. Generally where is the docs about the costructor api of Application?

And the most important question:

  • Are there any new documentation not uploaded in the website?

Best regards,
Luca

Parameter 'force_refresh' overwrites max video length

Hey guy's

Found an another problem.

I have an upload for videos with a maximum length of 120 seconds set with the timelimit attribute.

So now if I upload a video which is over 120 seconds long and then start to play it the player shows the full video and not only the maximum 120 seconds. So I inspected the url and found out that the player adds a parameter called 'force_refresh=false' to the video url. If I remove this parameter the video contains the correct length of 120 seconds.

So is this a bug of for what is that parameter? Is it possible to remove it?

Regards,
Thomas

How to get URL of the thumbnail?

I try the version 1 which allow to get URL of the thumbnail. Version 2 here seem like this function gone. Or is it use another method to get the image?

Is recordingwidth, recordingheight supported on browsers other than Chrome?

I'm trying to set the recording aspect ratio to square. The following code records at 720x720 in Chrome 80.0.3987.163, but in Firefox 75.0 the video is recorded at 1280x720.

Is it possible to control the recording aspect ratio in browsers other than Chrome?

<html>
<head>
<link rel="stylesheet" href="https://assets.ziggeo.com/v2-stable/ziggeo.css" />
<script src="https://assets.ziggeo.com/v2-stable/ziggeo.js"></script>
<script>
var ziggeoApp = new ZiggeoApi.V2.Application({
	token:"xxxxxx"
});
</script></head>
<body>
<h1>TEST ZIGGEO JS</h1>


<div id="replace_me-v2_recorder"></div> <script>
    ziggeoApp.on("ready", function() {
        var recorder = new ZiggeoApi.V2.Recorder({
            element: document.getElementById("replace_me-v2_recorder"),
            attrs: {
                recordingheight: 720,
                recordingwidth: 720,
                theme: "modern",
                themecolor: "red"
            }
        });

        recorder.activate();
    });
</script>

</body>
</html>

Unable to save or limit videos on safari

Ziggeo client sdk version: v2.33.5

Steps To Reproduce

  1. Initiate Ziggeo through JavaScript
  2. Embed the recorder via JavaScript
  3. Attempt to record on Safari desktop v13.1.2 and up
  4. Attempt to record on Safari iOS 13 and up

Code example:

this.ziggeoApp = new ZiggeoApi.V2.Application({
  token: ZIGGEO_API_KEY,
  webrtc_streaming_if_necessary: true,
  webrtc_on_mobile: true,
});

[...]

this.ziggeoApp.on('ready', function() {
  self.ziggeoApp.ready = true;
  var recorderOptions = {
    timelimit: 300,
    timeminlimit: 30,
    stretch: true,
    height: 240,
    width: 360,
    theme: 'modern',
    allowcustomupload: false,
    allowupload: false,
  };

  self.recorder = new ZiggeoApi.V2.Recorder({
    element: element,
    attrs: recorderOptions,
  });
  
  self.recorder.activate();
});

The current behavior

On Safari, the recorder starts and the user is able to initiate the video recording on both desktop and mobile. However on mobile, the user can stop the recording at any time, regardless of the timelimit and timeminlimit properties set on the recorder constructor attrs.

And in both mobile and desktop platforms, when the user stops the recording, the recorder controls go away, the loading indicator shows up, but nothing happens, no POST requests are sent, no errors are thrown, no events are triggered.
The recorder state just gets stuck.
Screen Shot 2020-07-28 at 3 01 56 PM

The expected behavior

On mobile iOS, the recorder should prevent the user from stopping and saving the recording if the recording length doesn't conform with the specified min and max duration limits.

The video, after being recorded, be fully uploaded to Ziggeo's bucket/storage, triggering the correct events with the proper data on every supported browser.

Fix NPM audit advisory 745

Could you please fix this NPM vulnerability caused by underscore.string: https://www.npmjs.com/advisories/745

Output from NPM Audit

┌──────────────────────────────────────────────────────────────────────────────┐
│                                Manual Review                                 │
│            Some vulnerabilities require your attention to resolve            │
│                                                                              │
│         Visit https://go.npm.me/audit-guide for additional guidance          │
└──────────────────────────────────────────────────────────────────────────────┘
┌───────────────┬──────────────────────────────────────────────────────────────┐
│ Moderate      │ Regular Expression Denial of Service                         │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package       │ underscore.string                                            │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Patched in    │ >=3.3.5                                                      │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ ziggeo-client-sdk                                            │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path          │ ziggeo-client-sdk > grunt-yaml > js-yaml > argparse >        │
│               │ underscore.string                                            │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info     │ https://nodesecurity.io/advisories/745                       │
└───────────────┴──────────────────────────────────────────────────────────────┘

'Events' Attribute missing on the ZiggeoApi object when using v2

Hey guy's.

I've got a problem with v2 of ziggeo.

Following is my case:

I'm using ziggeo from that url:
//assets-cdn.ziggeo.com/v2-stable/ziggeo.js

I initialise it with the following code:

new ZiggeoApi.V2.Application({
    token: {TOKEN},
    language: {LANGUAGE},
    webrtc_streaming: true
});

And if I output 'ZiggeoApi' the following appears:
screen shot 2018-03-23 at 18 35 40

So the main problem is now that 'Events' doesnt exist in the object. And if I use the following code which I got from your site (Here: https://ziggeo.com/docs/sdks/javascript/browser-integration/embed-methods#javascript-version=v2) with that at the beginning:

ZiggeoApi.Events.on("system_ready", function() {

... it doesn't work and produces an error. Because of the missing 'Events' Attribute I'm also not able to use any other functionality which is connected with events.

When I change the version to 'v1-stable' in the url it's working.

Is this a bug or what am I doing wrong?

Spinning loader after stopping recording in firefox

I have an implementation of the Ziggeo Javascript SDK.
The recorder loads and lets me hit record and start recording a video, when I hit stop, it just sits and spins with no option to do anything on the screen.

Console error thrown:

TypeError: this.__mediaRecorderOptions.mimeType is undefined ziggeo.js:7:284312 

This is a new bug that popped up we tested the original implementation 6 months ago or so and it worked fine.
We have also tested that our implementation works in Chrome and IE.

This is affecting our production build. Please advise.

Versions

Firefox 73.0.1(64 bit)
Ziggeo v1-stable

ios run failed: The following build commands failed: CompileC ZiggeoRN

Hi, I'm getting this error when trying to run ios. (pod install working successfully)

** BUILD FAILED **

The following build/Users/chend/newproject/ios/Podfile commands failed:
CompileC /Users/chend/Library/Developer/Xcode/DerivedData/newproject-frskhpfjqawsajelejzwsthvdxyd/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/ZiggeoRN.build/Objects-normal/x86_64/RCTZiggeoRecorder.o /Users/chend/newproject/node_modules/react-native-ziggeo-library/ios/Recorder/RCTZiggeoRecorder.m normal x86_64 objective-c com.apple.compilers.llvm.clang.1_0.compiler
CompileC /Users/chend/Library/Developer/Xcode/DerivedData/newproject-frskhpfjqawsajelejzwsthvdxyd/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/ZiggeoRN.build/Objects-normal/x86_64/RCTVideos.o /Users/chend/newproject/node_modules/react-native-ziggeo-library/ios/Videos/RCTVideos.m normal x86_64 o/Users/chend/newproject/ios/Podfile.lockbjective-c com.apple.compilers.llvm.clang.1_0.compiler
(2 failures)

This is my code:

### Podfile:
require_relative '../node_modules/react-native/scripts/react_native_pods'
require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules'

platform :ios, '10.0'

target 'newproject' do
config = use_native_modules!

use_react_native!(:path => config["reactNativePath"])

pod 'iOS-Client-SDK', :git => 'https://github.com/Ziggeo/iOS-Client-SDK.git'
target 'newprojectTests' do
inherit! :complete
# Pods for testing
end

Enables Flipper.

Note that if you have use_frameworks! enabled, Flipper will not work and

you should disable these next few lines.

use_flipper!({ 'Flipper-Folly' => '2.3.0' })

post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '9.0'
end
end
end
end

post_install do |installer|

installer.pods_project.targets.each do |target|

target.build_configurations.each do |config|

config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '9.0'

end

end

end

target 'newproject-tvOS' do

Pods for newproject-tvOS

target 'newproject-tvOSTests' do
inherit! :search_paths
# Pods for testing
end
end

### Podfile.lock:
PODS:

  • boost-for-react-native (1.63.0)
  • CocoaAsyncSocket (7.6.5)
  • CocoaLibEvent (1.0.0)
  • DoubleConversion (1.1.6)
  • FBLazyVector (0.63.3)
  • FBReactNativeSpec (0.63.3):
    • Folly (= 2020.01.13.00)
    • RCTRequired (= 0.63.3)
    • RCTTypeSafety (= 0.63.3)
    • React-Core (= 0.63.3)
    • React-jsi (= 0.63.3)
    • ReactCommon/turbomodule/core (= 0.63.3)
  • Flipper (0.54.0):
    • Flipper-Folly (~> 2.2)
    • Flipper-RSocket (~> 1.1)
  • Flipper-DoubleConversion (1.1.7)
  • Flipper-Folly (2.3.0):
    • boost-for-react-native
    • CocoaLibEvent (~> 1.0)
    • Flipper-DoubleConversion
    • Flipper-Glog
    • OpenSSL-Universal (= 1.0.2.20)
  • Flipper-Glog (0.3.6)
  • Flipper-PeerTalk (0.0.4)
  • Flipper-RSocket (1.1.1):
    • Flipper-Folly (~> 2.3)
  • FlipperKit (0.54.0):
    • FlipperKit/Core (= 0.54.0)
  • FlipperKit/Core (0.54.0):
    • Flipper (~> 0.54.0)
    • FlipperKit/CppBridge
    • FlipperKit/FBCxxFollyDynamicConvert
    • FlipperKit/FBDefines
    • FlipperKit/FKPortForwarding
  • FlipperKit/CppBridge (0.54.0):
    • Flipper (~> 0.54.0)
  • FlipperKit/FBCxxFollyDynamicConvert (0.54.0):
    • Flipper-Folly (~> 2.2)
  • FlipperKit/FBDefines (0.54.0)
  • FlipperKit/FKPortForwarding (0.54.0):
    • CocoaAsyncSocket (~> 7.6)
    • Flipper-PeerTalk (~> 0.0.4)
  • FlipperKit/FlipperKitHighlightOverlay (0.54.0)
  • FlipperKit/FlipperKitLayoutPlugin (0.54.0):
    • FlipperKit/Core
    • FlipperKit/FlipperKitHighlightOverlay
    • FlipperKit/FlipperKitLayoutTextSearchable
    • YogaKit (~> 1.18)
  • FlipperKit/FlipperKitLayoutTextSearchable (0.54.0)
  • FlipperKit/FlipperKitNetworkPlugin (0.54.0):
    • FlipperKit/Core
  • FlipperKit/FlipperKitReactPlugin (0.54.0):
    • FlipperKit/Core
  • FlipperKit/FlipperKitUserDefaultsPlugin (0.54.0):
    • FlipperKit/Core
  • FlipperKit/SKIOSNetworkPlugin (0.54.0):
    • FlipperKit/Core
    • FlipperKit/FlipperKitNetworkPlugin
  • Folly (2020.01.13.00):
    • boost-for-react-native
    • DoubleConversion
    • Folly/Default (= 2020.01.13.00)
    • glog
  • Folly/Default (2020.01.13.00):
    • boost-for-react-native
    • DoubleConversion
    • glog
  • glog (0.3.5)
  • GoogleAds-IMA-iOS-SDK (3.11.3)
  • iOS-Client-SDK (1.1.27):
    • GoogleAds-IMA-iOS-SDK (= 3.11.3)
  • OpenSSL-Universal (1.0.2.20):
    • OpenSSL-Universal/Static (= 1.0.2.20)
  • OpenSSL-Universal/Static (1.0.2.20)
  • RCTRequired (0.63.3)
  • RCTTypeSafety (0.63.3):
    • FBLazyVector (= 0.63.3)
    • Folly (= 2020.01.13.00)
    • RCTRequired (= 0.63.3)
    • React-Core (= 0.63.3)
  • React (0.63.3):
    • React-Core (= 0.63.3)
    • React-Core/DevSupport (= 0.63.3)
    • React-Core/RCTWebSocket (= 0.63.3)
    • React-RCTActionSheet (= 0.63.3)
    • React-RCTAnimation (= 0.63.3)
    • React-RCTBlob (= 0.63.3)
    • React-RCTImage (= 0.63.3)
    • React-RCTLinking (= 0.63.3)
    • React-RCTNetwork (= 0.63.3)
    • React-RCTSettings (= 0.63.3)
    • React-RCTText (= 0.63.3)
    • React-RCTVibration (= 0.63.3)
  • React-callinvoker (0.63.3)
  • React-Core (0.63.3):
    • Folly (= 2020.01.13.00)
    • glog
    • React-Core/Default (= 0.63.3)
    • React-cxxreact (= 0.63.3)
    • React-jsi (= 0.63.3)
    • React-jsiexecutor (= 0.63.3)
    • Yoga
  • React-Core/CoreModulesHeaders (0.63.3):
    • Folly (= 2020.01.13.00)
    • glog
    • React-Core/Default
    • React-cxxreact (= 0.63.3)
    • React-jsi (= 0.63.3)
    • React-jsiexecutor (= 0.63.3)
    • Yoga
  • React-Core/Default (0.63.3):
    • Folly (= 2020.01.13.00)
    • glog
    • React-cxxreact (= 0.63.3)
    • React-jsi (= 0.63.3)
    • React-jsiexecutor (= 0.63.3)
    • Yoga
  • React-Core/DevSupport (0.63.3):
    • Folly (= 2020.01.13.00)
    • glog
    • React-Core/Default (= 0.63.3)
    • React-Core/RCTWebSocket (= 0.63.3)
    • React-cxxreact (= 0.63.3)
    • React-jsi (= 0.63.3)
    • React-jsiexecutor (= 0.63.3)
    • React-jsinspector (= 0.63.3)
    • Yoga
  • React-Core/RCTActionSheetHeaders (0.63.3):
    • Folly (= 2020.01.13.00)
    • glog
    • React-Core/Default
    • React-cxxreact (= 0.63.3)
    • React-jsi (= 0.63.3)
    • React-jsiexecutor (= 0.63.3)
    • Yoga
  • React-Core/RCTAnimationHeaders (0.63.3):
    • Folly (= 2020.01.13.00)
    • glog
    • React-Core/Default
    • React-cxxreact (= 0.63.3)
    • React-jsi (= 0.63.3)
    • React-jsiexecutor (= 0.63.3)
    • Yoga
  • React-Core/RCTBlobHeaders (0.63.3):
    • Folly (= 2020.01.13.00)
    • glog
    • React-Core/Default
    • React-cxxreact (= 0.63.3)
    • React-jsi (= 0.63.3)
    • React-jsiexecutor (= 0.63.3)
    • Yoga
  • React-Core/RCTImageHeaders (0.63.3):
    • Folly (= 2020.01.13.00)
    • glog
    • React-Core/Default
    • React-cxxreact (= 0.63.3)
    • React-jsi (= 0.63.3)
    • React-jsiexecutor (= 0.63.3)
    • Yoga
  • React-Core/RCTLinkingHeaders (0.63.3):
    • Folly (= 2020.01.13.00)
    • glog
    • React-Core/Default
    • React-cxxreact (= 0.63.3)
    • React-jsi (= 0.63.3)
    • React-jsiexecutor (= 0.63.3)
    • Yoga
  • React-Core/RCTNetworkHeaders (0.63.3):
    • Folly (= 2020.01.13.00)
    • glog
    • React-Core/Default
    • React-cxxreact (= 0.63.3)
    • React-jsi (= 0.63.3)
    • React-jsiexecutor (= 0.63.3)
    • Yoga
  • React-Core/RCTSettingsHeaders (0.63.3):
    • Folly (= 2020.01.13.00)
    • glog
    • React-Core/Default
    • React-cxxreact (= 0.63.3)
    • React-jsi (= 0.63.3)
    • React-jsiexecutor (= 0.63.3)
    • Yoga
  • React-Core/RCTTextHeaders (0.63.3):
    • Folly (= 2020.01.13.00)
    • glog
    • React-Core/Default
    • React-cxxreact (= 0.63.3)
    • React-jsi (= 0.63.3)
    • React-jsiexecutor (= 0.63.3)
    • Yoga
  • React-Core/RCTVibrationHeaders (0.63.3):
    • Folly (= 2020.01.13.00)
    • glog
    • React-Core/Default
    • React-cxxreact (= 0.63.3)
    • React-jsi (= 0.63.3)
    • React-jsiexecutor (= 0.63.3)
    • Yoga
  • React-Core/RCTWebSocket (0.63.3):
    • Folly (= 2020.01.13.00)
    • glog
    • React-Core/Default (= 0.63.3)
    • React-cxxreact (= 0.63.3)
    • React-jsi (= 0.63.3)
    • React-jsiexecutor (= 0.63.3)
    • Yoga
  • React-CoreModules (0.63.3):
    • FBReactNativeSpec (= 0.63.3)
    • Folly (= 2020.01.13.00)
    • RCTTypeSafety (= 0.63.3)
    • React-Core/CoreModulesHeaders (= 0.63.3)
    • React-jsi (= 0.63.3)
    • React-RCTImage (= 0.63.3)
    • ReactCommon/turbomodule/core (= 0.63.3)
  • React-cxxreact (0.63.3):
    • boost-for-react-native (= 1.63.0)
    • DoubleConversion
    • Folly (= 2020.01.13.00)
    • glog
    • React-callinvoker (= 0.63.3)
    • React-jsinspector (= 0.63.3)
  • React-jsi (0.63.3):
    • boost-for-react-native (= 1.63.0)
    • DoubleConversion
    • Folly (= 2020.01.13.00)
    • glog
    • React-jsi/Default (= 0.63.3)
  • React-jsi/Default (0.63.3):
    • boost-for-react-native (= 1.63.0)
    • DoubleConversion
    • Folly (= 2020.01.13.00)
    • glog
  • React-jsiexecutor (0.63.3):
    • DoubleConversion
    • Folly (= 2020.01.13.00)
    • glog
    • React-cxxreact (= 0.63.3)
    • React-jsi (= 0.63.3)
  • React-jsinspector (0.63.3)
  • react-native-flipper (0.113.0):
    • React-Core
  • React-RCTActionSheet (0.63.3):
    • React-Core/RCTActionSheetHeaders (= 0.63.3)
  • React-RCTAnimation (0.63.3):
    • FBReactNativeSpec (= 0.63.3)
    • Folly (= 2020.01.13.00)
    • RCTTypeSafety (= 0.63.3)
    • React-Core/RCTAnimationHeaders (= 0.63.3)
    • React-jsi (= 0.63.3)
    • ReactCommon/turbomodule/core (= 0.63.3)
  • React-RCTBlob (0.63.3):
    • FBReactNativeSpec (= 0.63.3)
    • Folly (= 2020.01.13.00)
    • React-Core/RCTBlobHeaders (= 0.63.3)
    • React-Core/RCTWebSocket (= 0.63.3)
    • React-jsi (= 0.63.3)
    • React-RCTNetwork (= 0.63.3)
    • ReactCommon/turbomodule/core (= 0.63.3)
  • React-RCTImage (0.63.3):
    • FBReactNativeSpec (= 0.63.3)
    • Folly (= 2020.01.13.00)
    • RCTTypeSafety (= 0.63.3)
    • React-Core/RCTImageHeaders (= 0.63.3)
    • React-jsi (= 0.63.3)
    • React-RCTNetwork (= 0.63.3)
    • ReactCommon/turbomodule/core (= 0.63.3)
  • React-RCTLinking (0.63.3):
    • FBReactNativeSpec (= 0.63.3)
    • React-Core/RCTLinkingHeaders (= 0.63.3)
    • React-jsi (= 0.63.3)
    • ReactCommon/turbomodule/core (= 0.63.3)
  • React-RCTNetwork (0.63.3):
    • FBReactNativeSpec (= 0.63.3)
    • Folly (= 2020.01.13.00)
    • RCTTypeSafety (= 0.63.3)
    • React-Core/RCTNetworkHeaders (= 0.63.3)
    • React-jsi (= 0.63.3)
    • ReactCommon/turbomodule/core (= 0.63.3)
  • React-RCTSettings (0.63.3):
    • FBReactNativeSpec (= 0.63.3)
    • Folly (= 2020.01.13.00)
    • RCTTypeSafety (= 0.63.3)
    • React-Core/RCTSettingsHeaders (= 0.63.3)
    • React-jsi (= 0.63.3)
    • ReactCommon/turbomodule/core (= 0.63.3)
  • React-RCTText (0.63.3):
    • React-Core/RCTTextHeaders (= 0.63.3)
  • React-RCTVibration (0.63.3):
    • FBReactNativeSpec (= 0.63.3)
    • Folly (= 2020.01.13.00)
    • React-Core/RCTVibrationHeaders (= 0.63.3)
    • React-jsi (= 0.63.3)
    • ReactCommon/turbomodule/core (= 0.63.3)
  • ReactCommon/turbomodule/core (0.63.3):
    • DoubleConversion
    • Folly (= 2020.01.13.00)
    • glog
    • React-callinvoker (= 0.63.3)
    • React-Core (= 0.63.3)
    • React-cxxreact (= 0.63.3)
    • React-jsi (= 0.63.3)
  • Yoga (1.14.0)
  • YogaKit (1.18.1):
    • Yoga (~> 1.14)
  • ZiggeoRN (1.4.3):
    • iOS-Client-SDK
    • React-Core

DEPENDENCIES:

  • DoubleConversion (from ../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec)
  • FBLazyVector (from ../node_modules/react-native/Libraries/FBLazyVector)
  • FBReactNativeSpec (from ../node_modules/react-native/Libraries/FBReactNativeSpec)
  • Flipper (~> 0.54.0)
  • Flipper-DoubleConversion (= 1.1.7)
  • Flipper-Folly (= 2.3.0)
  • Flipper-Glog (= 0.3.6)
  • Flipper-PeerTalk (~> 0.0.4)
  • Flipper-RSocket (~> 1.1)
  • FlipperKit (~> 0.54.0)
  • FlipperKit/Core (~> 0.54.0)
  • FlipperKit/CppBridge (~> 0.54.0)
  • FlipperKit/FBCxxFollyDynamicConvert (~> 0.54.0)
  • FlipperKit/FBDefines (~> 0.54.0)
  • FlipperKit/FKPortForwarding (~> 0.54.0)
  • FlipperKit/FlipperKitHighlightOverlay (~> 0.54.0)
  • FlipperKit/FlipperKitLayoutPlugin (~> 0.54.0)
  • FlipperKit/FlipperKitLayoutTextSearchable (~> 0.54.0)
  • FlipperKit/FlipperKitNetworkPlugin (~> 0.54.0)
  • FlipperKit/FlipperKitReactPlugin (~> 0.54.0)
  • FlipperKit/FlipperKitUserDefaultsPlugin (~> 0.54.0)
  • FlipperKit/SKIOSNetworkPlugin (~> 0.54.0)
  • Folly (from ../node_modules/react-native/third-party-podspecs/Folly.podspec)
  • glog (from ../node_modules/react-native/third-party-podspecs/glog.podspec)
  • iOS-Client-SDK (from https://github.com/Ziggeo/iOS-Client-SDK.git)
  • RCTRequired (from ../node_modules/react-native/Libraries/RCTRequired)
  • RCTTypeSafety (from ../node_modules/react-native/Libraries/TypeSafety)
  • React (from ../node_modules/react-native/)
  • React-callinvoker (from ../node_modules/react-native/ReactCommon/callinvoker)
  • React-Core (from ../node_modules/react-native/)
  • React-Core/DevSupport (from ../node_modules/react-native/)
  • React-Core/RCTWebSocket (from ../node_modules/react-native/)
  • React-CoreModules (from ../node_modules/react-native/React/CoreModules)
  • React-cxxreact (from ../node_modules/react-native/ReactCommon/cxxreact)
  • React-jsi (from ../node_modules/react-native/ReactCommon/jsi)
  • React-jsiexecutor (from ../node_modules/react-native/ReactCommon/jsiexecutor)
  • React-jsinspector (from ../node_modules/react-native/ReactCommon/jsinspector)
  • react-native-flipper (from ../node_modules/react-native-flipper)
  • React-RCTActionSheet (from ../node_modules/react-native/Libraries/ActionSheetIOS)
  • React-RCTAnimation (from ../node_modules/react-native/Libraries/NativeAnimation)
  • React-RCTBlob (from ../node_modules/react-native/Libraries/Blob)
  • React-RCTImage (from ../node_modules/react-native/Libraries/Image)
  • React-RCTLinking (from ../node_modules/react-native/Libraries/LinkingIOS)
  • React-RCTNetwork (from ../node_modules/react-native/Libraries/Network)
  • React-RCTSettings (from ../node_modules/react-native/Libraries/Settings)
  • React-RCTText (from ../node_modules/react-native/Libraries/Text)
  • React-RCTVibration (from ../node_modules/react-native/Libraries/Vibration)
  • ReactCommon/turbomodule/core (from ../node_modules/react-native/ReactCommon)
  • Yoga (from ../node_modules/react-native/ReactCommon/yoga)
  • ZiggeoRN (from ../node_modules/react-native-ziggeo-library)

SPEC REPOS:
trunk:
- boost-for-react-native
- CocoaAsyncSocket
- CocoaLibEvent
- Flipper
- Flipper-DoubleConversion
- Flipper-Folly
- Flipper-Glog
- Flipper-PeerTalk
- Flipper-RSocket
- FlipperKit
- GoogleAds-IMA-iOS-SDK
- OpenSSL-Universal
- YogaKit

EXTERNAL SOURCES:
DoubleConversion:
:podspec: "../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec"
FBLazyVector:
:path: "../node_modules/react-native/Libraries/FBLazyVector"
FBReactNativeSpec:
:path: "../node_modules/react-native/Libraries/FBReactNativeSpec"
Folly:
:podspec: "../node_modules/react-native/third-party-podspecs/Folly.podspec"
glog:
:podspec: "../node_modules/react-native/third-party-podspecs/glog.podspec"
iOS-Client-SDK:
:git: https://github.com/Ziggeo/iOS-Client-SDK.git
RCTRequired:
:path: "../node_modules/react-native/Libraries/RCTRequired"
RCTTypeSafety:
:path: "../node_modules/react-native/Libraries/TypeSafety"
React:
:path: "../node_modules/react-native/"
React-callinvoker:
:path: "../node_modules/react-native/ReactCommon/callinvoker"
React-Core:
:path: "../node_modules/react-native/"
React-CoreModules:
:path: "../node_modules/react-native/React/CoreModules"
React-cxxreact:
:path: "../node_modules/react-native/ReactCommon/cxxreact"
React-jsi:
:path: "../node_modules/react-native/ReactCommon/jsi"
React-jsiexecutor:
:path: "../node_modules/react-native/ReactCommon/jsiexecutor"
React-jsinspector:
:path: "../node_modules/react-native/ReactCommon/jsinspector"
react-native-flipper:
:path: "../node_modules/react-native-flipper"
React-RCTActionSheet:
:path: "../node_modules/react-native/Libraries/ActionSheetIOS"
React-RCTAnimation:
:path: "../node_modules/react-native/Libraries/NativeAnimation"
React-RCTBlob:
:path: "../node_modules/react-native/Libraries/Blob"
React-RCTImage:
:path: "../node_modules/react-native/Libraries/Image"
React-RCTLinking:
:path: "../node_modules/react-native/Libraries/LinkingIOS"
React-RCTNetwork:
:path: "../node_modules/react-native/Libraries/Network"
React-RCTSettings:
:path: "../node_modules/react-native/Libraries/Settings"
React-RCTText:
:path: "../node_modules/react-native/Libraries/Text"
React-RCTVibration:
:path: "../node_modules/react-native/Libraries/Vibration"
ReactCommon:
:path: "../node_modules/react-native/ReactCommon"
Yoga:
:path: "../node_modules/react-native/ReactCommon/yoga"
ZiggeoRN:
:path: "../node_modules/react-native-ziggeo-library"

CHECKOUT OPTIONS:
iOS-Client-SDK:
:commit: 57a8cc6e258f195eb3c9cafe66af9742046e840d
:git: https://github.com/Ziggeo/iOS-Client-SDK.git

SPEC CHECKSUMS:
boost-for-react-native: 39c7adb57c4e60d6c5479dd8623128eb5b3f0f2c
CocoaAsyncSocket: 065fd1e645c7abab64f7a6a2007a48038fdc6a99
CocoaLibEvent: 2fab71b8bd46dd33ddb959f7928ec5909f838e3f
DoubleConversion: cde416483dac037923206447da6e1454df403714
FBLazyVector: 878b59e31113e289e275165efbe4b54fa614d43d
FBReactNativeSpec: 7da9338acfb98d4ef9e5536805a0704572d33c2f
Flipper: be611d4b742d8c87fbae2ca5f44603a02539e365
Flipper-DoubleConversion: 38631e41ef4f9b12861c67d17cb5518d06badc41
Flipper-Folly: e4493b013c02d9347d5e0cb4d128680239f6c78a
Flipper-Glog: 1dfd6abf1e922806c52ceb8701a3599a79a200a6
Flipper-PeerTalk: 116d8f857dc6ef55c7a5a75ea3ceaafe878aadc9
Flipper-RSocket: a3acb8812d6adf127deb0a5edae2793b97e6b641
FlipperKit: ab353d41aea8aae2ea6daaf813e67496642f3d7d
Folly: b73c3869541e86821df3c387eb0af5f65addfab4
glog: 40a13f7840415b9a77023fbcae0f1e6f43192af3
GoogleAds-IMA-iOS-SDK: 134b35758455576aaa6b3d2d3146699dcf8af4f1
iOS-Client-SDK: 412f588cdfeb407885b4e9d6c3322d2f6f275a04
OpenSSL-Universal: ff34003318d5e1163e9529b08470708e389ffcdd
RCTRequired: 48884c74035a0b5b76dbb7a998bd93bcfc5f2047
RCTTypeSafety: edf4b618033c2f1c5b7bc3d90d8e085ed95ba2ab
React: f36e90f3ceb976546e97df3403e37d226f79d0e3
React-callinvoker: 18874f621eb96625df7a24a7dc8d6e07391affcd
React-Core: ac3d816b8e3493970153f4aaf0cff18af0bb95e6
React-CoreModules: 4016d3a4e518bcfc4f5a51252b5a05692ca6f0e1
React-cxxreact: ffc9129013b87cb36cf3f30a86695a3c397b0f99
React-jsi: df07aa95b39c5be3e41199921509bfa929ed2b9d
React-jsiexecutor: b56c03e61c0dd5f5801255f2160a815f4a53d451
React-jsinspector: 8e68ffbfe23880d3ee9bafa8be2777f60b25cbe2
react-native-flipper: 2a212eb0fead9ae9b42d1eb75604757cdf36f2bb
React-RCTActionSheet: 53ea72699698b0b47a6421cb1c8b4ab215a774aa
React-RCTAnimation: 1befece0b5183c22ae01b966f5583f42e69a83c2
React-RCTBlob: 0b284339cbe4b15705a05e2313a51c6d8b51fa40
React-RCTImage: d1756599ebd4dc2cb19d1682fe67c6b976658387
React-RCTLinking: 9af0a51c6d6a4dd1674daadafffc6d03033a6d18
React-RCTNetwork: 332c83929cc5eae0b3bbca4add1d668e1fc18bda
React-RCTSettings: d6953772cfd55f2c68ad72b7ef29efc7ec49f773
React-RCTText: 65a6de06a7389098ce24340d1d3556015c38f746
React-RCTVibration: 8e9fb25724a0805107fc1acc9075e26f814df454
ReactCommon: 4167844018c9ed375cc01a843e9ee564399e53c3
Yoga: 7d13633d129fd179e01b8953d38d47be90db185a
YogaKit: f782866e155069a2cca2517aafea43200b01fd5a
ZiggeoRN: f4db8a0ccde6f1ee509e1134efd43caa80a61768

PODFILE CHECKSUM: 74fa27552e85a2c434d1a4a24f5eb5c5d1b78b62

COCOAPODS: 1.10.0

Video is not playing on Safari

We are using Angular SDK and its version is

Angular: 9.1.2
"ziggeo-client-sdk": "2.41.5",
"angular-ziggeo": "4.0.0"

We tried to play the video using the external button to trigger the video to play, but we are getting the below errors
image

Issue with latest version of edge - windows 10

There's an issue loading the ziggeo client sdk on the latest version of edge that was rolled out with the windows 10 creators update recently.

The library fails to load with the error: Unable to get property 'extend' of undefined or null reference.

Unfortunately it is almost impossible for me to debug this issue as I only have access to the minified source however a couple of things that may help:

The issue disappears if you open the developer tools which suggests it may be caused by a bug with an optimisation done by edge only when the developer tools are closed.

I think that the issue may be with the tool you've used to package up the code. I believe an array of dependencies is empty which is being passed into a define statement, but I'm not sure on this.

Finally, your own website is affected too (not just ours) so I don't think it's anything we've done wrong

Here's a simple repro

<head>
  <script>
    window.onerror = (msg, url, lineNo, columnNo, error) => {
      alert(error);
    }

    </script>
    <script src="ziggeo.js"></script> 
</head>

edge error

Martin

[Recorder] get recording from specific deviceId

Hello everyone,

we're currently using the PRO plan but as result of an error we cannot record the HD video. In our application we wish to record the HD video (1080p or 1920x1080) by specifying an exact deviceId to ensure the right camera is choosen.

The problem

Under Firefox 71.0 with Fedora 30 we correctly record the video at the desired quality from the specified deviceId by using the method below.

Under Chrome 79 with Fedora 30 and Windows/MacOs too we have the error:

Uncaught (in promise) OverconstrainedError:
                                        name: "OverconstrainedError",
                                        message: null,
                                        constraint: "width",

How to reproduce

We use:

  • javascript recorder API;
  • access to private function of the recorder;
  • Chrome 79.
const ziggeoRecorder = new window.ZiggeoApi.V2.Recorder({
      element: ...,
      attrs: {
        width: 320,
        height: 160,
        skipinitial: true,
        gallerysnapshots: 0,
        countdown: 0,
        picksnapshots: false,
        recordingwidth: 1920,
        recordingheight: 1080,
        minuploadingwidth: 1920,
        minuploadingheight: 1080,
        noaudio: true
      }
    });
    
    ziggeoRecorder.activate();
    ziggeoRecorder.on("attached", () => {
        ...
        ziggeoRecorder.current.recorder._recorder.selectCamera(CORRECT_DEVICE_ID);
        ...
        ziggeoRecorder.current.record();
    });
    
 	ziggeoRecorder.on("processing",....);
 	ziggeoRecorder.on("uploading",....);
 	ziggeoRecorder.on("upload_progress",....);
    ...

Question

  1. What is the proper method to set a specific deviceId in the javascript recorder?
  2. What is the proper method to set the 1920x1080 stream resolution?

Thank you

JavaScript exception while uploading video after recording in Cordova app

Error Description

I'm trying to run the sample Cordova app https://github.com/Ziggeo/cordova-ziggeo-demo. After setup & preparation, when I started recording the video, it worked. But when I pressed "Ok" (which starts uploading to the server), a JavaScript exception is being thrown:

TypeError: Cannot read property '0' of undefined
    at o._upload (ziggeo.js:formatted:7438)
    at o.__upload (ziggeo.js:formatted:7384)
    at o.upload (ziggeo.js:formatted:7379)
    at t._uploadVideoFile (ziggeo.js:formatted:27949)
    at t.<anonymous> (ziggeo.js:formatted:26804)
    at Promise.triggerResult (ziggeo.js:formatted:2541)
    at Promise.triggerResult (ziggeo.js:formatted:2546)
    at Promise.asyncSuccess (ziggeo.js:formatted:2571)
    at Promise.<anonymous> (ziggeo.js:formatted:2610)
    at Promise.triggerResult (ziggeo.js:formatted:2541)

The exception is being thrown at the following line when trying to read this._options.source.files[0]:

image

I thought this might be because of the old versions of cordova-plugin-file and cordova-plugin-media-capture so I upgraded everything to the latest version but I'm facing the same issue.

Environment

  • OS: macOS Catalina
  • Cordova CLI: 9.00 ([email protected])
  • Android version: 9 (Samsung One UI 1.0)
  • cordova-android: 8.1.0
  • cordova-plugin-android-permissions: 1.0.0
  • cordova-plugin-camera: 4.1.0
  • cordova-plugin-file: 6.0.2
  • cordova-plugin-media-capture: 3.0.3
  • ziggeo-client-sdk: 2.35.4

No `currentdevicesdetected` emmitted from ZiggeoApi.V2.AudioRecorder

I'm trying to get the audio devices in a similar fashion as described here: https://ziggeo.com/docs/how-tos/javascript/custom-camera-microphone-fields/

But unfortunately, the AudioRecorder does not emit the currentdevicesdetected event.

To work around this, I do the following:

recorder.on(
  'bound',
  () => {
    if (typeof recorder.recorder !== 'undefined') {
      const _recorder = recorder.recorder;
      _recorder.enumerateDevices().success((devices: any) => {
        const selectedMicrophone = _recorder.currentDevices().audio;
        const microphones = (Object.values(devices.audio).map((mic: any) => [mic.id, mic.label]));
        ...
      }, recorder);
    }
  },
  recorder
);

But I'm not sure if this is a good workaround.

Would it be possible to have it emit currentdevicesdetected instead like in the regular Recorder?

Importing Ziggeo with Webpack

When importing Ziggeo with Webpack;

import ziggeo from 'ziggeo-client-sdk/build/ziggeo';

It cannot compile due to with is used, which is forbidden in strict mode; https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/with.

Failed to compile.

./node_modules/ziggeo-client-sdk/build/ziggeo.js
Module build failed (from ./node_modules/babel-loader/lib/index.js):
SyntaxError: /Users/xxx/node_modules/ziggeo-client-sdk/build/ziggeo.js: 'with' in strict mode (7:1003705)

I did a little digging and it looks like some of the betajs libraries are using with, do you have any ideas how to get around this problem?

Hiding Recorder

Hello
I just need to use the camera and I don't need the realtime preview, is there any way to hide the recorder from the page that doesn't involve overriding recorder css classes etc ?

thanks.

select_microphone not available on ZiggeoApi.V2.AudioRecorder

It looks like the ZiggeoApi.V2.AudioRecorder does not have the select_microphone function. Even though it's declared in its functions object, it's not in object_functions, so it isn't callable.

Is there a workaround for this in the meantime?

Can not upload video

Hi. I have a code like:

const handleUploadFile = useCallback((file) => {
   ref.upload_video(file)
});

<div>
    <VideoRecorder onRef={ref} />
    <Input type="file" onChange={handleUploadFile}
</div>

But I got this error,
image

that's great if you can help. thank you team!

stretch parameter not working well.

I use the code below it show in short-while and then the whole player gone. Once remove the stretch, it show and working but not fill the size i assign in the element.

showPlayer (videoId) { const player = new window.ZiggeoApi.V2.Player({ element: document.getElementById(elemId), attrs: { stretch: true, responsive: true, theme: 'modern-green', video: videoId } });

How do the video fill up the size that assign through the div?

Ziggeo api tree on v2

Hey guy's

How can I do the functionality stated here (https://ziggeo.com/docs/sdks/javascript/api) with v2?

Specially the function:

ZiggeoApi.Videos.get(token_or_key, {
	success: function (args, result) {
		// Success
	},
	failure: function (args, error) {
		// Failure
	}
});

Since I've updated the version to v2 it's not working.

[requirement] add config 'forceWebrtc' to support special scene

Hello !

We are using Ziggeo Recorder. Our page is in Electron which is load by 'file://' protocol.
After Chrome disable Flash (we are upgraded Electron 10 from Electron 4), we can't use Recorder.
Because we use 'file://' protocol load page from local, ziggeo-client-sdk judge it doesn't support webrtc in such page (but it is actually supported).
So Could Ziggeo Dev Team add a config to use webrtc forcely or support file protocol when judge supported?

Looking forward for any reply!

Update and proofread translations

Ziggeo currently supports 30 different languages and we’re really proud of that! We want to make our software accessible to as many people as possible. Unfortunately keeping all of those translations updated as we add new features can be quite overwhelming, so we’re asking for your help!

As you can see from the original English strings and the locale files, most translations are missing something. We’re looking to update them to include all strings listed on the English file.

To open a PR you just need to follow these instructions:

  • Files should be in UTF-8 format
  • Do not change the string labels, only the actual string
  • Write a comment here telling us which language you’re working on

Couldn’t find your language? We’d love to support it as well! Feel free to open a PR for a new language following the same instructions above. The file name should be the language’s ISO 639-1 code.

Delete a video with ziggeo v2

Hey guy's

I need you an another time.. How can I delete a video with ziggeo v2?

With reverse engineering I found that function:

ziggeoApp.videos.destroy(a, b, c);

But I don't know what params the function needs. Is it possible to delete a video by the videoToken?

Not possible to import with Webpack

When importing Ziggeo with Webpack;

import ziggeo from 'ziggeo-client-sdk/build/ziggeo';

It cannot compile due to with is used, which is forbidden in strict mode; https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/with.

Failed to compile.

./node_modules/ziggeo-client-sdk/build/ziggeo.js
Module build failed (from ./node_modules/babel-loader/lib/index.js):
SyntaxError: /Users/xxx/node_modules/ziggeo-client-sdk/build/ziggeo.js: 'with' in strict mode (7:1003705)

I did a little digging and it looks like some of the betajs libraries are using with, do you have any ideas how to get around this problem?

Requests still to embed.ziggeo.com/v1/* instead of v2

Hey guy's

Exceptionally it's more a question than a problem.

I saw in the network console of my browser that Ziggeo makes a request to: embed.ziggeo.com/v1/applications/{TOKEN}/session

And I'm wondering why still v1 and not v2 because I'm using v2 of Ziggeo.

And the other question is: We are fetching the images of the video over this url: embed.ziggeo.com/v1/applications/{TOKEN}/videos/{VIDEO}/image and I'm now a little bit scared that the url changes from v1 to v2 and it's not working anymore.

Regards,
Thomas

Mutation observers always added and still run when app instance has been destroyed

We have noticed that just by loading the ziggeo.js file on the page adding of any dom nodes are slowed down (noticable mostly when adding alot at the same time).

It would be nice if these mutation observers could be removed or at least optional? What are they needed for? If they can't be made optional maybe they can be added only when the app is instantiated and then removed when the app instance is destroyed?

Videos can not being recorded with IE11 and Ziggeo V2

Hey guy's

Every time I start the ziggeo recorder on IE11 and press on 'record video' the following error message occurs:

screen shot 2018-05-17 at 18 37 56

The recorder doesn't show up. Just the loading animation is running endless.

I'm using the stable version of ziggeo v2.

I hope this helps to fix the bug.

Regards,
Thomas

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.