gstreamerからSkyWay経由で動画を転送する方法で現在も有効な手段はありますか?

Comments

5 comments

  • Avatar
    Toshiya Nakakura

    ご質問いただいているIoT SDKはWebRTC GWとは別のSDKであり、IoT SDKの開発は現在では開発停止しております。

    gStreamerをお使いということでしたら、WebRTC GWをご利用頂ければと思います。

    https://github.com/skyway/skyway-webrtc-gateway

    0
    Comment actions Permalink
  • Avatar
    菱沼倫彦

    ご回答ありがとうございます。

    改めて WebRTC GWにてサンプルを試させていただきました。

    サンプルの media_caller.rb / media_callee.rb を呼び出しましたが、

    util.rb:55:in `create_peer': undefined method `[]' for nil:NilClass (NoMethodError)

    となってしまうため(peer_id / keyが設定されていることは確認済み)

    確認のためPostmanで改めて http://35.200.46.204/#/1.peers での定義通りリクエストを送信。

    application/jsonでのBODYをAPIスペックの通り以下に設定。

    POST localhost:8000/peers

    {
    "key": "xxxxxxxxx",
    "domain": "localhost",
    "peer_id": "media_caller",
    "turn": true
    }

    すると以下ようにエラーが出ますが、

    500Internal Server Error

    {
    "command_type": "PEERS_CREATE",
    "params": {
    "errors": [
    {
    "field": "",
    "message": "internal peer open error."
    }
    ]
    }
    }
     
     
    # 開発環境:Windows10 gateway_windows.exe を使用
     
    gateway_windows.exeのログは以下となります。
    set port to 8000, log_level to 3
    i/SkyWay++: start accept
    i/SkyWay++: connection accepted
    i/SkyWay++: start session
    i/SkyWay++: start read
    i/SkyWay++: start accept
    i/SkyWay++: end read
    i/SkyWay++: boost::system::error_code: 1
    i/SkyWay++: end session
    i/SkyWay++: connection accepted
    i/SkyWay++: start session
    i/SkyWay++: start read
    i/SkyWay++: start accept
    i/SkyWay++: end read
    i/SkyWay++: boost::system::error_code: 0
    w/SkyWay++: * RestPeerEventListener onEventsError@
    w/SkyWay++: Error type : network-error
    w/SkyWay++: Error message : stream truncated
    i/SkyWay++: method : 8アy・
    i/SkyWay++: target : =ェ@
    i/SkyWay++: start send
    i/SkyWay++: end send
    i/SkyWay++: start read
     
    インターネットアクセス、ブラウザでの表示には問題がないことを確認しております。
     
    何か間違いがございますでしょうか。
    ご教示いただけますと幸いです。
     
    0
    Comment actions Permalink
  • Avatar
    Toshiya Nakakura

    domainはlocalhostを指定されているようですが、SkyWayのドメイン指定でlocalhostは許可されていますでしょうか。

    また、Peer Objectの保持はRubyではなくGateway側のため、PeerObjectを解放せず同一のpeer_idで2回目の生成指示を出した場合、別ユーザのpeer_idと重複している場合と同様エラーになります。

    以上の点をまずご確認いただけますでしょうか。

    0
    Comment actions Permalink
  • Avatar
    菱沼倫彦

    ご回答いただきありがとうございます。

     

    はい、SkyWayドメイン指定でlocalhostは許可しております。

    また、使ったことのないpeer_idで改めてリクエストしましたが、同じエラーとなりました。

     

    DELETEすればよいかと思いましたが、そもそもトークンが得られていないため、

    削除することはできませんでした。

     

    別アプリケーションを作成し、そちらのAPI KEYを利用して再度試してみましたが、

    同様のエラーになります。

    念のため

    gateway_windows.exeの再起動も試しています。

     

    ご確認いただけますと幸いです。

     

    0
    Comment actions Permalink
  • Avatar
    Toshiya Nakakura (Edited )

    私の手元では再現しないのですが、一般的に申し上げまして、500Internal Server Errorが出るのは、WebRTC Gatewayが正常にRESTのメッセージを受け取った後、PeerObjectの生成に失敗した場合です。以下のようなケースが考えられます

    ・SkyWayサーバへそもそも通信ができなかった場合
    ・API KeyやDomain等の情報が間違っている場合
    ・peer_idが重複している場合

    例えば私が以前Raspberry PIで同様の事象に直面した際は、DNSのlookupに大きな時間がかかっていてタイムアウトしていました。またProxyを経由している場合も同様です。このような場合、別のアプリケーションではネットワークが見れているので気づきにくいです。

    例えばセキュリティポリシーの厳しい企業様のネットワークで、Proxyサーバを介してインターネットに接続しているというようなことはありますでしょうか?

     

    またお手数ですが、切り分けのため、他のネットワークに接続して試してみることは可能でしょうか?

    0
    Comment actions Permalink

Please sign in to leave a comment.