This message was deleted.
# helpdesk
s
This message was deleted.
d
this sounds like an issue with the hardware encoder. Can you try forcing codec to VP8?
p
Thanks for the suggestion, I tried doing this as my settings in flutter sdk.
Copy code
const roomOptions = RoomOptions(
        defaultVideoPublishOptions: VideoPublishOptions(
          videoCodec: 'VP8',
        ),
        defaultCameraCaptureOptions: CameraCaptureOptions(
            maxFrameRate: 30,
            params: VideoParameters(
                dimensions: VideoDimensionsPresets.h720_169,
                encoding: VideoEncoding(
                  maxBitrate: 2 * 1000 * 1000,
                  maxFramerate: 30,
                ))),
      );
I also changed the settings in the livekit dashboard for the server config and hit save. Still getting this green camera screen. Will try another camera, but I don't think that is the issue? I also checked the data sheet for the camera and it says it supports 720p so should be fine? Once again, thank you. I will try to isolate further and keep you updated, but please let me know if you have any ideas. Cheers!
d
that seems like a camera and/or compatibility with the libwebrtc stack.. I guess this isn't an officially supported device, so it'll likely take some deep troubleshooting on your end.
p
thanks @dry-elephant-14928, currently digging into what
flutter_webrtc
does to capture frames for android. will keep you updated if I find a resolution! appreciate the hints nonetheless 🙏
d
no problem! hope you get to the bottom of it
🙏 1
p
Quick followup, I researched all around to put the puzzle together. I think you're right about the hardware encoding. However, apparently vp8 isn't supported for webrtc unless it's in a browser environment. I was running emteria.Os/android on Raspberry pi 3b. The pi has hardware encoding support for h.264. However for the OS to take advantage of that, emteria would have to update the OS to interact with the encoder/decoder in what I believe is the HAL (hardware abstraction layer) in android development. I don't even think emteria supports video capture although camera works, and camera live preview works. Apparently video and camera preview are two different things that I didn't know. Unfortunate that I worked on this flutter app but now I am going see if getting closer to the metal with rust on an arm machine like a Jetson Nano, using gstreamer, will be better. (i.e. a first principles approach).
d
Oh interesting.. it could be due the capture stack vs encoding. libwebrtc has vp8 software encoding built-in, so as long as it's able to get the frames, you should be able to encode them with vp8, bypassing much of the hardware stack for encoding. take a look at using our Rust SDK, there you can isolate the issue a bit because you could produce a frame buffer to publish (example), instead of having to capture from the camera.
🙏 1
p
thank you @dry-elephant-14928 for diagnosing with me! going to be experimenting with the rust sdk now
👍 1