2016-06-17 3 views
3

Для всех, кто знаком с открытым программным обеспечением OBS (Open Broadcast Software), вы знаете, что у них есть функция «Начать запись» (Live Capture).Открыть файл для чтения Что написано OBS

Я хочу захватить этот живой захват и прочитать его в байтах для дальнейших манипуляций на моем конце, не играя с созданным фактическим файлом.

Проблема сохраняется в том, что сообщение об ошибке (Процесс не может получить доступ к файлу, так как он используется другим процессом) будет представлен и всегда ошибки на:

FileInputStream fis = new FileInputStream(file); 

Файл является расположение к в который записывается живой файл.

Мне было интересно, какая возможная работа вокруг может быть? Если файл открыт для записи и, возможно, чтения, не должен ли я иметь доступ к нему только для чтения? Я также попытался использовать BufferedReader для борьбы с этой проблемой.

EDIT: VLC дал эту ошибку при попытке ее открыть, может быть, это простой блок разрешений?

Ошибка чтения файла: VLC не смог открыть файл "D: \ Raw Clips \ Local Recordings \ Hello (01) .flv" (Permission denied).

Ваши данные не могут быть открыты: VLC не может открыть файл MRL: /// D: /Raw%20Clips/Local%20Recordings/Hello%20%2801%29.flv '. Проверьте журнал для получения более подробной информации.

+0

ОС? Это важно. –

+0

Windows 10, я не удивлюсь, если это Windows, вызывающая проблему –

ответ

0

Так что для всех, кто задается вопросом, проблема заключается в OBS Classic, где Файл, кажется, ограничен и не используется. Разработчик Джим, как учил меня изменить источник/MP4FileStream.cpp линии 154 до

if(!fileOut.Open(lpFile, XFILE_SHARED, 1024*1024)) 

Если общий должна позволить файл, который будет открыт для чтения, OBS студия не последовать их примеру на этой проблеме.

Смежные вопросы