Russian Qt Forum
Ноябрь 22, 2024, 17:17 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Сырой (raw) h264  (Прочитано 7641 раз)
torwig
Самовар
**
Offline Offline

Сообщений: 134



Просмотр профиля
« : Сентябрь 03, 2014, 11:25 »

Добрый день.
Имею камеру D-Link DCS-5020L. Она умеет отдавать h264 по URL http://191.168.1.10/dgh264.raw.
Отдает она очень просто, идет вот такое
Код:
HTTP/1.0 200 OK
Server: alphapd
Date: Wed Sep  3 11:10:11 2014
Pragma: no-cache
Cache-Control: no-cache
Content-type: video/raw
а за ним непрерывный поток.
Я поток записываю в файл, но к примеру VLC потом этот файл не способен проиграть.
MPlayer воспроизводит, но очень много сообщений вида:
Код:
[h264 @ 0xb6a65d00]non-existing PPS 2 referenced
[h264 @ 0xb6a65d00]decode_slice_header error
[h264 @ 0xb6a65d00]no frame!
Error while decoding frame!
Почитал, почитал и понимаю, что нужно подкорректировать информацию, добавляя определенные данные.
Вот здесь есть информация о h264 поверх RTP: http://stackoverflow.com/questions/7665217/how-to-process-raw-udp-packets-so-that-they-can-be-decoded-by-a-decoder-filter-i
Но там UDP, и как его привязать к моему случаю не понимаю, или нужно другие преобразования выполнять.
Буду рад совету, можно кодом, можно утилитой преобразовывать этот сырой формат в нечто, что можно проиграть чем-то кроме mplayerа.

п.с.
Код:
avconv -i raw.264 out.mp4
не помогает, после подобного даже mplayer не воспроизводит.

Спасибо за внимание.
Записан
navrocky
Гипер активный житель
*****
Offline Offline

Сообщений: 817


Погроммист


Просмотр профиля
« Ответ #1 : Сентябрь 03, 2014, 12:25 »

Поспешил с советом, libx264 - умеет только кодировать. Ну видимо придется использовать полноценный ffmpeg для декодирования. Он точно умеет работать с сырыми кодированными потоками.

Самое очевидное - это использовать libx264. Но я с ней не работал, не могу сказать насколько это геморройно.

http://www.videolan.org/developers/x264.html
« Последнее редактирование: Сентябрь 03, 2014, 12:35 от navrocky » Записан

Гугль в помощь
torwig
Самовар
**
Offline Offline

Сообщений: 134



Просмотр профиля
« Ответ #2 : Сентябрь 03, 2014, 13:39 »

Попробую ffmpeg, но вроде на 14 Убунте уже его нет, вместо него libav, а с помощью avconv я уже пытался, результат нет.
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #3 : Сентябрь 03, 2014, 13:48 »

OpenCV попробуй.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
navrocky
Гипер активный житель
*****
Offline Offline

Сообщений: 817


Погроммист


Просмотр профиля
« Ответ #4 : Сентябрь 03, 2014, 15:25 »

Попробую ffmpeg, но вроде на 14 Убунте уже его нет, вместо него libav, а с помощью avconv я уже пытался, результат нет.

libav - это оно и есть, не знаю, что делает avconv, но если ты возьмешь h264 кодек из libavcodec, и декодируешь им, то наверняка прийдешь к успеху.
Записан

Гугль в помощь
Fat-Zer
Гость
« Ответ #5 : Сентябрь 03, 2014, 23:02 »

torwig, а можешь выложить пару секунд такого видео на поиграться?
Записан
torwig
Самовар
**
Offline Offline

Сообщений: 134



Просмотр профиля
« Ответ #6 : Сентябрь 04, 2014, 08:44 »

Fat-Zer, да, пожалуйста: http://dropmefiles.com/G4qWb
Записан
Fat-Zer
Гость
« Ответ #7 : Сентябрь 04, 2014, 12:21 »

первое, что получилось с ходу закатать его в матрёшку mkvmerge'ем...
также mencoder'ом с -ovc copy получилось засунуть в avi, но на него и vlc и mplayer ругаются также как и у тебя...
Записан
torwig
Самовар
**
Offline Offline

Сообщений: 134



Просмотр профиля
« Ответ #8 : Сентябрь 04, 2014, 13:05 »

Fat-Zer, спасибо.
mkvmerge действительно превращает его в нечто, что можно посмотреть.
Буду искать дальше, как бы поток обрабатывать, выделять фреймы, в конечном итоге отображать это дело.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.086 секунд. Запросов: 23.