Я хотел бы декодировать файлы с кодировкой HEVC в файлы YUV.
Есть ли какой-нибудь простой способ сделать это? Исполняемый файл был бы хорош, но я бы справился с исходным кодом, который легко компилируется.
Я хотел бы декодировать файлы с кодировкой HEVC в файлы YUV.
Есть ли какой-нибудь простой способ сделать это? Исполняемый файл был бы хорош, но я бы справился с исходным кодом, который легко компилируется.
Это так же просто, как (руководство предполагает Linux, настройте его под свои нужды)
Скопируйте официальный эталонный кодек (официальный-официальный — это svn-репозиторий, найденный по адресу https://hevc.hhi.fraunhofer.de/svn/svn_HEVCSoftware/trunk/, но git-репозиторий только для чтения, который синхронизируется с svn, предоставляется BBC, с которым намного проще работать, ИМХО)
git clone git://hevc.kw.bbc.co.uk/git/jctvc-hm.git
Чтобы создать исполняемые файлы:
cd jctvc-hm/build/linux && make -f makefile
Двоичные файлы теперь помещаются в
jctvc-hm/bin
Теперь, чтобы декодировать двоичный файл с кодировкой HEVC в YCbCr, выполните
./TAppDecoderStatic -b encoded_file.bin -o reconstructed.yuv
Если вы не используете систему Linux, просто перейдите в папку сборки, и вы, надеюсь, найдете что-то, что вы можете использовать для своей системы:
$ cd jctvc-hm/build && ls
HM_vc10.sln HM_vc8.sln HM_vc9.sln linux/ vc10/ vc8/ vc9/
Следуйте инструкциям на https://hevc.hhi.fraunhofer.de/svn/svn_HEVCSoftware/branches/HM-9.2-dev/doc/software-manual.pdf, исходный код можно загрузить с https://hevc.hhi.fraunhofer.de/svn/svn_HEVCSoftware/trunk/ с помощью любого подрывного программного обеспечения.
Вы можете собрать его как на ОС Windows, так и на Linux. После сборки программного обеспечения вы можете запускать исполняемые файлы, как указано в руководстве по программному обеспечению.
В качестве альтернативы вы можете использовать libde265 как гораздо более быстрый декодер.
./configure --disable-sherlock265
make
Создайте файл YUV с помощью
./dec265/dec265 hevc-file.bin -o output.yuv -t4
Опция -t4
предназначена для многопоточного декодирования. Вы также можете выполнять другие действия, такие как ввод потоков NAL-модулей, дамп заголовков, непосредственное отображение видео или проверка хэшей SEI.
Вы можете загрузить исполняемый файл ffmpeg для сборки Windows, просто декодирующий битовый поток HEVC.
ffmpeg.exe -i xxx.bin out.yuv