Error of raw HEVC when use stdout
Window 8.1 64 bits
I try to wrap raw HEVC file in the container such as mkv by using ffmpeg in single command. I try to use x265 --> output as stdout and pipe in ffmpeg to make mkv but it produce error. To test it, I use ffmpeg to test decode of HEVC file
1) Control test
x265.exe any.y4m control.hevc
result is control.hevc without error. Then test decode hevc by ffmpeg.
FFmpeg.exe -loglevel error -hide_banner -i control.hevc -f null -
ffmpeg report no error, just warning that missing picture in access unit.
2) Pipe test
x265.exe any.y4m - | FFmpeg.exe -loglevel error -hide_banner -i - -f null -
A lot of error is report from ffmpeg
3) Try to see what is x265 produce in stdout
x265.exe any.y4m - 1>bug.hevc
The bug.hevc has normal structure of hevc file such as it has NAL VPS SPS PPS IDR but it cannot display due to corrupted file.
try to decode bug.hevc by ffmpeg still produce error
FFmpeg.exe -loglevel error -hide_banner -i bug.hevc -f null -
In summary, output to file is good but output to stdout is bug.
Comments (6)
-
-
reporter I cannot test it due to I don't have complier. If you found the bug and test it already. Then I think it is OK.
-
With this patch x265 opens stdout for pipe output in binary mode (instead of text mode). Should work but better to double check -- windows binary with patch www.msystem.waw.pl/x265/pipe.7z
-
reporter Thank you. Test pass. It work perfectly.
-
Thanks for report and testing!
-
reporter - changed status to resolved
- Log in to comment
Please try the patch https://patches.videolan.org/patch/19565/