LINUX.ORG.RU

Записать GStreamer'ом файл mp4.

 , , mp4mux


0

1

Как GStreamer'ом создать нормальный файл mp4? То что мне выдаёт mp4mux не играется, выдаёт ошибку

This file contains no playable streams.

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

gst-launch-1.0 souphttpsrc location='http://192.168.27.101/videostream.asf' ! asfparse ! asfdemux ! avdec_mjpeg ! videoconvert ! videorate ! video/x-raw,framerate=25/1,width=640,height=480 ! clockoverlay ! queue ! x264enc ! mp4mux ! filesink location=file.mp4

А вот такая играемый:

gst-launch-1.0 v4l2src device=/dev/video0 num-buffers=50 ! queue ! x264enc ! mp4mux ! filesink location=file2.mp4

Причём я уверен, что декодирование у меня делается нормально, потому что если вставить xvimagesink вместо queue перед энкодером, то на экране я увижу картинку с камеры, то есть до video/x-raw я нормально декодировал, а потом пытаюсь закодировать и муксить в mp4, но не достигаю успеха. ЧЯДНТ?

★★★★★

Что такое codec_data?

Что такое codec_data, и куда её надо вписать?

Camel ★★★★★
() автор топика

You need colorspace transformation

Поскольку на экране Вы видите нормальное изображение, то это RGB. Ни один кодек не работает в колорспэйсе RGB. Им нужна та или иная модификация YUV. Поставьте в пайплайн преобразование цветового пространства (в gst есть модули, делающие это, в том числе, с помощью GPU, а операция такая прожорливая). Например, как вот здесь: http://www.vidarholen.net/contents/blog/?tag=gstreamer

anonymous
()
Ответ на: You need colorspace transformation от anonymous

Не работает.

Там для старых версий GStreamer'а. Помогите преобразовать это к GStreamer'у версии 1.0. Использование елемента videoconvert не спасает.

Camel ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.