View Single Post
Old 6th October 2020, 08:12   #1  |  Link
H2sixty
Not a Registered User
 
H2sixty's Avatar
 
Join Date: Aug 2020
Location: earth
Posts: 24
ffmpeg command to pipe a mkv/mp4 file into x265 in realtime as a yuv

[for windows add .exe to ffmpeg and x265, ffmpeg.exe x265.exe]
(i do not have windows to test these, i replaced it with debian linux)


8bit input--\/
Code:
ffmpeg -i "input.file" -f yuv4mpegpipe - | x265 --y4m - -o "outputfile.265"


10bit input--\/
Code:
ffmpeg -i "input.file" -f yuv4mpegpipe -strict -1 - | x265 --y4m - -o "outputfile.265"
(use -strict -1 or else y4m will want to interpret the input as 8-bit 420)



12bit input--\/
Code:
ffmpeg -i "input.file" -f -pix_fmt yuv420p12le yuv4mpegpipe -strict -1 - | x265 --y4m - -o "outputfile.265"


ffmpeg can automatically detect pixel format from input file. so -pix_fmt "pixel format (yuv420p etc)" input option isn't needed unless input is rawvideo... but if needed use -pix_fmt with a choosen pixel format from below...

other inputs/pix_fmt--\/

yuv420p yuvj420p yuv422p yuvj422p yuv444p yuvj444p gbrp yuv420p10le yuv422p10le yuv444p10le gbrp10le yuv420p12le yuv422p12le yuv444p12le gbrp12le gray gray10le gray12le

(use with -strict 1 to force/allow choosen pix_fmt)
-
-
-
for a list of x265 {not ffmpeg} supported pixel formats use command below
Code:
ffmpeg -h encoder=libx265 2>/dev/null | grep pixel
{for ffmpeg see selurs post}

-

-------------------------------------------
-------------------------------------------
-------------------------------------------
thanks to excellentswordfight for info.
Quote:
Originally Posted by excellentswordfight View Post
Code:
"ffmpeg.exe" -i "input" -f yuv4mpegpipe -strict -1 - | "x265.exe"
In some scenarios you will need to change the format before piping (-pix_fmt)

Last edited by H2sixty; 14th October 2020 at 01:55. Reason: some corrections made thx to selur, in {} brackets or next to. + removed unneeded info to topic
H2sixty is offline   Reply With Quote