Force encoding method in expo camera - react-native

I am using react native and expo camera to build an app that can upload videos to my website. Everything works fine on Android but on newer iPhones it uploads a blank video that still has audio. I think this is because of the new iOS encoding method HEVC rather than the typical H264. Is there any way to force expo camera to encode in H264?

Related

Jitsi meet video call on Android stays on black screen

Implementing video calls using react-native-jitsi-meet on iOS works perfectly fine but on android when loading the screen to start the meeting, it stays on the black screen. I am using react-native 0.69.2 and react-native-jitsi-meet 2.3.1.
I did all installation as described in the documentation and also tried to use jitsi-meet-sdk to customize native code but still, I could get the black screen on android.
I also tried to downgrade the react-native version but it couldn't help.
I was expecting to join the video call but rendering the JitsiMeetView with its full functionality like turning on a video call, muting audio, seeing participants, inviting and so many more features that jitsi-meet-sdk provides as I could see it on iOS.

Expo Camera on Android doesn't work well as on Web

I'm developing a React Native app. I'm using Camera-Expo.
When I test it and take a photo on Web, it is saved as 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUg....' and it can be saved on cloudinary.com
Though when I test it on my phone using Expo, the photo is saved as 'file:///data/user/0/host.exp.exponent/cache/Experie.....' and it is not saved on cloudinary.com
How can I save the photos I make by phone on cloudinary?
Use ImageManipulator from Expo to change the captured file to base64 and then you can upload it on cloudinary

React Native - Native audio player on locked device screen

I'm using react-native-sound library for audio files to play inside Rn app for both iOS and Android.
I have question about locked screen, I would like to have audio player on locked screen.
Currently behaviour is different, on iOS audio stops after lock, on Android it continues.
I would like something like this:
I know this is a late answer but I just installed https://www.npmjs.com/package/react-native-music-control and using it alongside react native sound and everything works for the lock screen in ios. The audio continues to play in background when using the react native sound option:
// Enable playback in silence mode
Sound.setCategory('Playback');
If you follow the docs for both libraries it should work for ios. In the react native music control library, make sure you follow the part about setting the Background Mode in xcode. Bare in mind that in the simulator the lock screen was not showing, only when the app is on the device does it show but the audio does play in background on simulator.

Is there any libraries or way to convert video (mp4, mov) to gif in React Native for both Android and iOS?

I'm implementing the feature of video recording in React Native, and want to have the features of convert the video that recorded to GIF before send to server. Is there any libraries or ways to convert the video such as mp4, mov to gif in React Native for both Android and iOS?
Instal library
npm install react-native-video-to-gif --save
Using lib
import RNGif from 'react-native-video-to-gif';
Try FFMPEG
FFMPEG is known for all kinds of video manipulations. Including converting video to gif. And the package below is React-Native compatible, available on both iOS and Android.
https://www.npmjs.com/package/react-native-ffmpeg

Is there any way I can play videos with Third-Party Video players in my mobile using React-Native?

I am storing my videos in Firebase Storage. I want to give an option to play the videos i am retrieving from Firebase in a Third-Party player.
If you are using Expo, yes there is:
Expo is a free and open source toolchain built around React Native to help you build native iOS and Android projects using JavaScript and React - Expo Website
The Expo SDK, which include components and many more cool stuff, come built-in with create-react-native-app has the Video Component
It is a component that displays a video inline with the other React Native UI elements in your app. The display dimensions and position of the video on screen can be set using usual React Native styling.
You can use that to play the videos hosted on firebase