Извлечение потока VLC IP-камеры в необработанные данные H264

3172
PRacicot

Я новичок в потоковой передаче из VLC в файл, но я искал в интернете то, что я пытаюсь сделать, и не нашел никакой соответствующей информации. В настоящее время я занимаюсь разработкой симулятора камеры, который воспроизводит видеофайл в режиме воспроизведения (поскольку это симуляция).

Сама камера транслируется в H264 VGA (640x480), по RTSP через UDP.

По сути, я пытаюсь сохранить поток (10 секунд) реальной камеры через VLC, чтобы впоследствии этот симулятор мог использовать этот видеофайл. В нашем симуляторе все видеофайлы из потока H264 имеют расширения H264 (пример:) Stream1.h264.

Чтобы убедиться, что мой видеофайл правильно закодирован, я использую его MediaInfoдля просмотра свойств файла, но не могу получить требуемые свойства.

Например, я попытался с методом инкапсуляции MPEG-TS, и я получил следующие свойства:

General  ID : xxxxxxx  Complete name : xxx  Format : MPEG-TS  Format/Info : This information doesn't appear, why? File size : xx  Duration : xx   Format : AVC  Format/Info : Advanced Video Codec  Format profile : High@L3.0  Format settings, CABAC : Yes  Format settings, ReFrames : 4 frames  

Но свойства, которые я ищу:

General  Complete name : xxx  Format : AVC  Format/Info : Advanced Video Codec  File size : xx   Format : AVC  Format/Info : Advanced Video Codec  Format profile : Baseline@L5.1  Format settings, CABAC : No  Format settings, ReFrames : 1 frame  
1
Дело в том, что вам не нужна инкапсуляция, кроме исходного потока битов (см. Http://www.ietf.org/rfc/rfc3984.txt) - вам нужно использовать VLC для захвата с камеры? На какой ОС вы работаете? slhck 11 лет назад 0
Мне не нужно использовать VLC (он казался простым в использовании). И я работаю на Windows 7 64Bit PRacicot 11 лет назад 0

2 ответа на вопрос

1
slhck

You can always extract the raw H.264 stream from an encapsulated file. I would suggest encapsulating to MP4, and then you can use MP4Box to do:

mp4box -raw 1 video.mp4 

This will create the file video_track1.h264, which should match your specifications. I tried this on one file I had, and this was my result – I think that's the avc1 respresentation you're looking for:

General Complete name : xxx Format : AVC Format/Info : Advanced Video Codec File size : ... Video Format : AVC Format/Info : Advanced Video Codec Format profile : High@L3.1 Format settings, CABAC : Yes Format settings, ReFrames : 5 frames 
Спасибо, это работало просто отлично. У меня была серая плитка при извлечении необработанного h264 из файла mp4, но после проверки файла я увидел, что это были кадры изображения, полученные до фактического SPS и IFrame, просто пришлось немного изменить, и все работало нормально. PRacicot 11 лет назад 0
0
Abdullah Farweez

Мы можем использовать openRTSP (программу командной строки для записи потоков мультимедиа RTSP), чтобы сохранить потоковый пакет RTSP в локальной папке. Эта программа помогает загружать потоки RAW из источника.

Например, приведен пример команды для извлечения потоков с камеры и записи в локальную папку ./openRTSP.exe rtsp: //: 554 / h264 / video.sdp? Camera = 1

примечание: вышеуказанная команда сохраняет потоки в файле .264.

источник: http://www.live555.com/openRTSP/

Похожие вопросы