2013-05-17 2 views

ответ

1

Один из способов заключается в использовании mplayer должно работать (здесь я предполагаю, КИФ-размер, то есть 352, 288)

$ mplayer -demuxer rawvideo -rawvideo w=352:h=288:format=nv12 file.yuv 

конвертировать. скажем, 4: 2: 0 плоскостей разделены (ака YV12, который в значительной степени является стандартной), вы можете использовать ffmpeg:

$ ffmpeg -pix_fmt yuv420p -s 352x288 -i foreman_352x288.yuv -pix_fmt nv12 foreman_nv_12.yuv 

YUV представляет собой формат сырых данных без каких-либо заголовков, так что нет ничего, что вы действительно можете сделать, чем попробуйте просмотреть его в другом формате, пока вам не удастся найти совпадение.

Некоторые основные проверки согласованности, хотя в том, что NV12 представляет собой формат 4:2:0 это означает, что цветность-плоскости субдискретизированных фактор 2 как по ширине и высоте, и это дает общее количество байтов для одного кадра:

width * height * 3/2 

это вы можете проверить на общее количество байтов для файла.

+0

Привет, пытаюсь использовать это преобразование, но я не могу играть nv12 с игроком. при преобразовании с ffmpeg в другой формат он работает нормально. – ransh

+0

Какой игрок вы имеете в виду? Используя ffmpeg, это должно работать 'ffplay -s 352x288 -pix_fmt nv12 file.yuv' –

+0

спасибо. У меня должна быть проблема с багги старой версией ffmpeg. Я сделал конверсию и сыграл ее в конце концов. – ransh

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