Я хочу создать проигрыватель RTSP в Chrome PNaCl.Модуль FFmpeg NaCl avformat_open_input (по потоку rtsp) возвращает -5: ошибка ввода-вывода
Я успешно построил ffmpeg naclport, включая следующие сетевые флаги в файле build.sh файла для порта NaCl ffmpeg.
--enable сетевых протоколы --enable---enable-демультиплексор = RTSP --enable-демультиплексор = РТП --enable-демультиплексор = SDP --enable-декодер = H264
Кроме того, я успешно закодированы и связаны с портом ffmpeg NaCl в моем собственном модуле PNaCl. Я включил следующие сетевые разрешения в файле manifest.json:
"permissions": [
{
"socket": [
"tcp-listen:*:*",
"tcp-connect:*:*",
"resolve-host:*:*",
"udp-bind:*:*",
"udp-send-to:*:*"
],
}
Теперь, как только я запускаю следующий код, в PNaCl, то avformat_open_input (...) возвращает -5 или I/O Error:
AVFormatContext* formatContext = avformat_alloc_context();
av_register_all();
avformat_network_init();
const char * stream_path = "rtsp://184.72.239.149/vod/mp4:BigBuckBunny_115k.mov";
int result = avformat_open_input(&formatContext, stream_path ,NULL,NULL);
if(result< 0){
PostMessage("input not opened, result: ");
PostMessage(result);
}else{
PostMessage(std::string("input successfully opened"));
}
Что я могу сделать неправильно, и почему модуль PNaCl не может получить доступ к потоку RTSP?
PS. This - аналогичный вопрос, но он не дает окончательного ответа.
Большое спасибо. Я сделал это с помощью ppapi, теперь ошибка становится ** Недопустимый ввод данных **. Многие говорят, что это ошибка во внутренних частях порта NaCl FFmpeg. Это правда? –
Есть ли пример, который использует версию ppapi_simple C++? –
Зачем «avformat_open_input» в новом потоке по-прежнему дает ту же ошибку? – SMUsamaShah