2013-04-22 2 views
1

Я пытаюсь написать небольшую программу на C++, которая транскодирует видео кадр за кадром, и для этого я использую функции libvlc_video_set_callbacks и libvlc_video_set_format_callbacks.using libvlc_video_set_format_callbacks для транскодирования видео кадр за кадром

Первая функция работает нормально, но я не уверен, как реализовать libvlc_video_set_format_callbacks.

Я пробовал этот способ, чтобы начать с, но это дает мне ошибку аргумента для «настройки»:

int setup(void* pUserData, char *chroma, unsigned int *width, unsigned int *height, unsigned int *pitches, unsigned int *lines) 
    { 
     (void) pUserData; 
     return 1; 
    } 

libvlc_video_set_format_callbacks(mp, setup, cleanup); 

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

Не могли бы вы помочь мне с этой функцией настройки или, по крайней мере, указать мне пример, который показывает, как его реализовать, поскольку я не нашел его? Как вы можете себе представить, я не очень опытный программист поэтому, пожалуйста, будьте терпеливы со мной;) Заранее спасибо

ответ

0

liblv_video_set_format_callbacks второй аргумент типа libvlc_video_format_cb, который является следующим ЬурейеЕ:

typedef unsigned(* libvlc_video_format_cb)(void **opaque, char *chroma, unsigned *width, unsigned *height, unsigned *pitches, unsigned *lines); 

Мы можем видеть два отличия с вашей setup функции:

  • тип первого аргумента должен быть void**. Ваш void*.
  • Обратный тип должен быть unsigned. Ваш int.

Я не знаю ни о свойствах видеоформата. Таким образом, я не смогу дать вам никаких указаний на это.

+0

У меня уже было 'unsigned', не знаю, почему я изменил его на' int' .., но я, должно быть, упустил второй '*'. Так спасибо за ваш ответ! Теперь я пытаюсь установить свойства видеоформата, но я думаю, что это более сложная часть моего вопроса. – user2273364

+0

@ user2273364 Я тоже думаю. Кстати, вы должны сделать еще один вопрос. Лучше задавать вопросы шаг за шагом, чтобы сразу несколько вопросов. Только несколько человек смогут ответить на все вопросы, но многие из них могут решить один или несколько шагов :) – Morwenn

+0

Вы правы, я задам новый вопрос – user2273364

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