2017-09-19 62 views
6

KontekstKonwersja plików RAW do JPEG rgb32 lub PNG za pomocą FFmpeg

użyłem programu C++ napisać surowych bajtów do pliku (image.raw) w formacie RGB32:

R G B A R G B A R G B A ...

i chcę móc to w jakiś sposób zobaczyć. Mam wymiary obrazu.

Moje narzędzia są ograniczone do komend wiersza poleceń (np. ffmpeg). Odwiedziłem instrukcję ffmpegwebsite, aby uzyskać instrukcje, ale zajmuje się ona bardziej konwersją filmów na obrazy.


Pytania

Czy to możliwe, aby włączyć ten plik do użytecznej typ pliku (np .jpeg, .png) stosując ffmpeg. Jeśli tak, to jak mam to zrobić?

Jeśli nie jest możliwe, czy istnieje sposób, w jaki mogę użyć innego polecenia?

to, że wciąż nie jest opłacalne, czy jest jakiś sposób mogę manipulować RGB32 bajtów wewnątrz C++ programu aby uczynić go bardziej odpowiednie bez korzystaniem z zewnętrznych bibliotek? Nie chcę też kodować .jpeg, tak jak this.

Odpowiedz

2

Użyj rawvideo demuxer:

ffmpeg -f rawvideo -pixel_format rgba -video_size 320x240 -i input.raw output.png 

Ponieważ nie ma nagłówek określający zakładanych parametrów wideo należy je określić, jak wykazano powyżej, aby być w stanie dekodować dane poprawnie.

Wyświetl listę obsługiwanych formatów pikseli wejściowych, która może pomóc w wyborze odpowiedniego -pixel_format.

+1

Odpowiedź zadziałała, chociaż muszę dodać, że działała tylko po dodaniu '-i' przed' input.raw'. – PhotometricStereo

+0

@PhotometricStereo Tak, to był błąd literowy. Dziękuję za edycję. – LordNeckbeard

Powiązane problemy