Я использую FFmpeg для повторного потокового видео с камеры (которая подключена через Wi-Fi с нет подключения к Интернету) на другой сервер, и я хочу выполнить процесс повторной потоковой передачи через сотовые данные. Поскольку я уже подключен к Wi-Fi и одновременно использую сотовые данные bindProcessToNetwork()
. Перед выполнением команды ffmpeg я сделал следующее
final ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkRequest.Builder req = new NetworkRequest.Builder();
req.addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET);
req.addTransportType(NetworkCapabilities.TRANSPORT_CELLULAR);
cm.requestNetwork(req.build(), new ConnectivityManager.NetworkCallback() {
@Override
public void onAvailable(Network network) {
//here you can use bindProcessToNetwork
//cm.getNetworkInfo(network);
if (cm.getNetworkInfo(network).getType() == ConnectivityManager.TYPE_MOBILE) {
cm.bindProcessToNetwork(network);
}
}
});
в большинстве случаев он работает нормально, например, веб-просмотр работает правильно, используя сотовые данные при подключении к Wi-Fi, но когда я пытаюсь выполнить любую команду ffmpeg, это не работает.