Closed yurikoles closed 4 years ago
Hi @yurikoles , does above instruction work for you? Do you need further assist?
Hi @1480c1 and @tianjunwork,
Sorry for delay, I don't wanted to reboot my system. I already had some limits bumped and I bumped even more settings. Those limits were applied only after reboot. And it works!
Thanks for the update @yurikoles.
Sorry, but I don't get what the solution for this is. Calling:
selur@Selurs-Mac MacOS % ./ffmpeg -y -loglevel fatal -noautorotate -nostdin -threads 8 -i "/Users/selur/Desktop/test.avi" -map 0:0 -an -sn -vf zscale=rangein=tv:range=tv -pix_fmt yuv420p10le -strict -1 -vsync 0 -f yuv4mpegpipe - | ./SvtHevcEncApp -i stdin -fps-num 25 -fps-denom 1 -n 429 -profile 2 -b "/Users/selur/temp/test_2020-08-30@10_50_25_1810_01.265"
I get:
-------------------------------------------
SVT-HEVC Encoder
SVT [version]: SVT-HEVC Encoder Lib v1.5.0
SVT [build] : GCC 4.2.1 Compatible Apple LLVM 11.0.3 (clang-1103.0.32.62) 64 bit
LIB Build date: Aug 29 2020 17:37:08
-------------------------------------------
Number of logical cores available: 16
Number of PPCS 54
-------------------------------------------
SVT [config]: Main10 Profile Tier (auto) Level (auto)
SVT [config]: EncoderMode / Tune : 7 / 1
SVT [config]: EncoderBitDepth / CompressedTenBitFormat / EncoderColorFormat : 10 / 0 / 1
SVT [config]: SourceWidth / SourceHeight / InterlacedVideo : 640 / 352 / 0
SVT [config]: Fps_Numerator / Fps_Denominator / Gop Size / IntraRefreshType : 25 / 1 / 24 / -1
SVT [config]: HierarchicalLevels / BaseLayerSwitchMode / PredStructure : 3 / 0 / 2
SVT [config]: BRC Mode / QP / LookaheadDistance / SceneChange : CQP / 32 / 17 / 1
SVT [config]: BitRateReduction / ImproveSharpness : 0 / 0
SVT [config]: tileColumnCount / tileRowCount / tileSliceMode / Constraint MV : 1 / 1 / 0 / 0
SVT [config]: De-blocking Filter / SAO Filter : 1 / 1
SVT [config]: HME / UseDefaultHME : 1 / 1
SVT [config]: MV Search Area Width / Height : 16 / 7
SVT [config]: HRD / VBV MaxRate / BufSize / BufInit : 0 / 0 / 0 / 90
-------------------------------------------
Error at sem_open: Too many open files
allocate memory failed, at /Users/selur/workspace/SVT-HEVC/Source/Lib/Codec/EbSystemResourceManager.c, L30
Encoding
Could not allocate enough memory for channel 1
Encoder finished
Should I add some additional command line parameter or do I need to add some additional parameter when compiling SvtHevcEncApp?
It seems one of the lines related to macOS semaphores was removed from the readme
https://github.com/OpenVisualCloud/SVT-AV1/issues/178#issuecomment-481452141
you can try setting ulimit -n 1000
to set to limit higher temporarily
Okay, good and bad news. :) good: that seems to help with that problem,...
Selurs-Mac:MacOS selur$ ulimit -n 1000
Selurs-Mac:MacOS selur$ ./ffmpeg -y -loglevel fatal -noautorotate -nostdin -threads 8 -i "/Users/selur/Desktop/test.avi" -map 0:0 -an -sn -vf zscale=rangein=tv:range=tv -pix_fmt yuv420p10le -strict -1 -vsync 0 -f yuv4mpegpipe - | ./SvtHevcEncApp -i stdin -fps-num 25 -fps-denom 1 -n 429 -profile 2 -b "/Users/selur/temp/test_2020-08-30@11_32_57_1810_01.265"
-------------------------------------------
SVT-HEVC Encoder
SVT [version]: SVT-HEVC Encoder Lib v1.5.0
SVT [build] : GCC 4.2.1 Compatible Apple LLVM 11.0.3 (clang-1103.0.32.62) 64 bit
LIB Build date: Aug 29 2020 17:37:08
-------------------------------------------
Number of logical cores available: 16
Number of PPCS 54
-------------------------------------------
SVT [config]: Main10 Profile Tier (auto) Level (auto)
SVT [config]: EncoderMode / Tune : 7 / 1
SVT [config]: EncoderBitDepth / CompressedTenBitFormat / EncoderColorFormat : 10 / 0 / 1
SVT [config]: SourceWidth / SourceHeight / InterlacedVideo : 640 / 352 / 0
SVT [config]: Fps_Numerator / Fps_Denominator / Gop Size / IntraRefreshType : 25 / 1 / 24 / -1
SVT [config]: HierarchicalLevels / BaseLayerSwitchMode / PredStructure : 3 / 0 / 2
SVT [config]: BRC Mode / QP / LookaheadDistance / SceneChange : CQP / 32 / 17 / 1
SVT [config]: BitRateReduction / ImproveSharpness : 0 / 0
SVT [config]: tileColumnCount / tileRowCount / tileSliceMode / Constraint MV : 1 / 1 / 0 / 0
SVT [config]: De-blocking Filter / SAO Filter : 1 / 1
SVT [config]: HME / UseDefaultHME : 1 / 1
SVT [config]: MV Search Area Width / Height : 16 / 7
SVT [config]: HRD / VBV MaxRate / BufSize / BufInit : 0 / 0 / 0 / 90
-------------------------------------------
Encoding Illegal instruction: 4
but now I get the 'Illegal instruction: 4', adding '-asm 0' the encoding works.
But my guess is that this is thanks to the fact that I'm running MacOS in a VMWare on a system using Intel(R) Xeon(R) CPU E5640 @ 2.67GHz which simply is too old. :)
-> thanks for the help with the ulimit
Issue should be reopened since instructions on limits for macOS was removed from readme
Hi @yurikoles , macOS is never officially claimed to be supported and maintained. Thanks to @1480c1 from the community, SVT-HEVC can be built and run on macOS. Hi @Selur, I wonder if you can share your latest recipe to use SVT-HEVC on macOS in this page.
@tianjunwork: Since I managed to get MacOS running in a VM I'm currently working on getting the tool I develop Hybrid running on latest MacOS again. What I do in Hybrid is use either ffmpeg or a Vapoursynth script and vspipe to decode filter and pipe content to SVT-HEVC. :) So not really much to tell about atm. but I'm working on it and try frequently update wip builds of Hybrid.
I'm trying to encode akiyo_qcif.yuv sample on macOS, but I see the following error:
Full output
What I had tried:
lldb
from terminal.git co o 0daec1a~
, e.g. before merge of #467 and rebuild.git co v1.4.0
and rebuild.Output of successful run from VSCode