Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

ラズパイ4の64ビット向けの色々な対応 #305

Merged
merged 19 commits into from
Aug 25, 2023
Merged

Conversation

melpon
Copy link
Contributor

@melpon melpon commented Aug 11, 2023

  • ラズパイ専用カメラに対応しました(libcamera)
  • V4L2 m2m を利用した H.264 のエンコードとデコードに対応しました
  • SDL2 を利用可能にしました

ラズパイ専用カメラに関しては --use-libcamera オプションを指定すると利用可能です。
更に H.264 で非サイマルキャストの場合は --use-libcamera-native オプションを指定すると CPU 利用率が減ります。

@voluntas voluntas requested a review from tnoho August 11, 2023 02:43
@torikizi
Copy link
Contributor

対応ありがとうございます。
ラズパイ専用カメラを使用して配信をすると映像の色がおかしくなってしまうようです。
以下は momo の H.264 の映像を Devtools で受信した映像をキャプチャしたものです。ほかコーデックでも色がおかしくなっているようでした。
Image from Gyazo

実行コマンドはこちらです。

./momo --use-libcamera --use-sdl sora --signaling-url --role sendrecv --channel-id sora --video-codec-type H264

ラズパイの libcamera-still で動作を見てみたところ本事象は再現しなかったため、デバイスの問題ではなく momo の問題のようです。

@tnoho
Copy link
Contributor

tnoho commented Aug 24, 2023

LGTM

V4L2Runner すごいいいですね!冗長だし共通化できるはずとは思ってたんですが、対応されててとても素敵でした!

Copy link
Contributor

@tnoho tnoho left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

こっちに書かないといけなかった

int src_width,
int src_height,
int src_stride) {
const char device_name[] = "/dev/video11";
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1つのデバイスを複数のエンコーダーから参照しても複数エンコードできてしまってサイマルキャストできるんですね。ここは正直意外でした。

@voluntas
Copy link
Member

細かい問題がありますが、マージしてしまいます。

@voluntas voluntas merged commit 2d13418 into develop Aug 25, 2023
@voluntas voluntas deleted the feature/raspi4 branch August 25, 2023 01:30
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants