Очень интересует данная тема, конкретно нужно раскодировать h264 поток с ip-камер, разумеется для мобильных платформ (Android iOS). По взаимодействию с камерами по RTSP все написано и уже готово, готов RTP-клиент получающий на вход поток от камеры. Задача этот поток визуализировать. Как я понял, оптимальным было бы использование бибилиотек FFMPEG, в интернете есть уже скомпилированные .so библиотеки.
Если я правильно понимаю, то подключение библиотек динамически не вызывает затруднений
DocDir := IncludeTrailingPathDelimiter(System.IOUtils.TPath.GetLibraryPath); //* BASS
BASSLibraryHandle := LoadLibrary(PChar(DocDir + 'libbass.so'));
if BASSLibraryHandle = 0 then begin
ShowMessage( 'libbass.so load FAIL');
end;
if BASSLibraryHandle <> 0 then begin
@BASS_Init := GetProcAddress(BASSLibraryHandle, ('BASS_Init'));
@BASS_StreamCreateFile := GetProcAddress(BASSLibraryHandle, ('BASS_StreamCreateFile'));
@BASS_ChannelPlay := GetProcAddress(BASSLibraryHandle, ('BASS_ChannelPlay'));
@BASS_FXGetParameters := GetProcAddress(BASSLibraryHandle, ('BASS_FXGetParameters'));
Result := True;
end;
а вот, что делать дальше, пока не понятно. Нужны описания библиотек с функциями и хоть какие-то наработки, как это добро использовать. Если есть кто-то, кому эта тема тоже была бы интересна, готов поработать совместно!!! Или может кто-то уже имел дело с FFMPEG, пните в нужную сторону, где чего почитать.
Вопрос
gonzales
Очень интересует данная тема, конкретно нужно раскодировать h264 поток с ip-камер, разумеется для мобильных платформ (Android iOS). По взаимодействию с камерами по RTSP все написано и уже готово, готов RTP-клиент получающий на вход поток от камеры. Задача этот поток визуализировать. Как я понял, оптимальным было бы использование бибилиотек FFMPEG, в интернете есть уже скомпилированные .so библиотеки.
http://megadarja.blogspot.com/2010/09/ffmpeg-android.html
https://habr.com/ru/post/254737/
http://writingminds.github.io/ffmpeg-android-java/
Если я правильно понимаю, то подключение библиотек динамически не вызывает затруднений
DocDir := IncludeTrailingPathDelimiter(System.IOUtils.TPath.GetLibraryPath); //* BASS BASSLibraryHandle := LoadLibrary(PChar(DocDir + 'libbass.so')); if BASSLibraryHandle = 0 then begin ShowMessage( 'libbass.so load FAIL'); end; if BASSLibraryHandle <> 0 then begin @BASS_Init := GetProcAddress(BASSLibraryHandle, ('BASS_Init')); @BASS_StreamCreateFile := GetProcAddress(BASSLibraryHandle, ('BASS_StreamCreateFile')); @BASS_ChannelPlay := GetProcAddress(BASSLibraryHandle, ('BASS_ChannelPlay')); @BASS_FXGetParameters := GetProcAddress(BASSLibraryHandle, ('BASS_FXGetParameters')); Result := True; end;
а вот, что делать дальше, пока не понятно. Нужны описания библиотек с функциями и хоть какие-то наработки, как это добро использовать. Если есть кто-то, кому эта тема тоже была бы интересна, готов поработать совместно!!! Или может кто-то уже имел дело с FFMPEG, пните в нужную сторону, где чего почитать.
Всем заранее спасибо
Ссылка на комментарий
3 ответа на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.