Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.03.2018, 23:55   #1
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию Как подружиться с Videolan

Здравствуйте.
Необходимо разработать софт который используя библиотеку Videolan будет кодировать видеоданные.

Сырцы скачал. С помощью лома и топора запилил проект к MS VC++ 2017.
Используя сырцовый пример все идет отлично до момента инициализации кодера:
Код:
int width, height;
	x264_param_t param;
	x264_picture_t pic;
	x264_picture_t pic_out;
	x264_t *h;
	int i_frame = 0;
	int i_frame_size;
	x264_nal_t *nal;
	int i_nal;
	

	// тут с параметров задаются высота и ширинакадра 
	//FAIL_IF_ERROR(!(argc > 1), "Example usage: example 352x288 <input.yuv >output.h264\n");
	//FAIL_IF_ERROR(2 != sscanf(argv[1], "%dx%d", &width, &height), "resolution not specified or incorrect\n");
	width = 352;
	height = 288;

	/* Get default params for preset/tuning */
	if (x264_param_default_preset(&param, "medium", NULL) < 0)
		goto fail;

	/* Configure non-default params */
	param.i_bitdepth = 8;
	param.i_csp = X264_CSP_I420;
	param.i_width = width;
	param.i_height = height;
	param.b_vfr_input = 0;
	param.b_repeat_headers = 1;
	param.b_annexb = 1;

	/* Apply profile restrictions. */
	if (x264_param_apply_profile(&param, "high") < 0)
		goto fail;

	if (x264_picture_alloc(&pic, param.i_csp, param.i_width, param.i_height) < 0)
		goto fail;
#undef fail
#define fail fail2

	h = x264_encoder_open(&param);  <---- ошибка тут
	if (!h)
		goto fail;
Получаю результат 0.
В консоли егор -> "x264 [error]: invalid level_idc: 8"

Может кто подскажет чего этому зверю от меня нужно?? Пробовал в параметрах менять этот идц но все без толку ...
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Старый 31.03.2018, 01:31   #2
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

У меня такая же проблема была чувак.
Закоментируй строчку

Код:
param.i_bitdepth = 8;
И кодек стартует. Дальше только конвертируй данные из RGB в YUV и подавай энкодеру.

А может кто нибудь подскажет как связать стандартный выходной поток и стандартный входной??

энкодеры принимают данные из stdin ... а может ли другой софт писать в stdout и чтобы эти потоки были связаны???
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите подружиться с socket_select lollollollol PHP 0 30.03.2014 09:44
Эквалайзер...что это? кто это? Можно ли с ним подружиться? .Phoenix Мультимедиа в Delphi 45 08.04.2010 23:37
Не выходит подружиться с функцией... Anohorett Общие вопросы C/C++ 2 25.02.2010 16:18
не могу подружиться с strcat() i-cpp Общие вопросы C/C++ 2 17.02.2010 20:14
VideoLAN VLC HellStranger Мультимедиа в Delphi 0 27.10.2009 17:26