rtmpgwを使用してローカル ポートにストリームを設定し、videoview またはその他のビデオ プレーヤーを使用してアクセスしようとしています。ネイティブ実行可能ファイルをセットアップして動作していますが、コマンドでテストすると
rtmpgw --sport 8080
次のエラーが返されます。
HTTP-RTMP Stream Gateway v2.4
(c) 2010 Andrej Stepanchuk, Howard Chu; license: GPL
ERROR: startStreaming, TCP bind failed for port number: 8080
ERROR: Failed to start HTTP server, exiting!
これは、私が試したどのポートでも発生します。引数がない場合、--sport
ポート 80 を試行して失敗します。私の理解では、非特権/非 root ユーザーは unix で 1024 未満のポートをバインドできません。これは仮想マシンなので、違いますか? ネイティブ実行可能ファイル/静的バイナリは、仮想マシンの外部で実行されませんか?
コード:
File rtmp = new File(getFilesDir() + "/rtmpgw");
ProcessBuilder pb = new ProcessBuilder("./" + rtmp.getName(), "--sport", "8080");
pb.directory(getFilesDir());
Process stream = pb.start();