VLC transcoding from anything to HEVC... encoder missing?

Microsoft Windows specific usage questions
Forum rules
Please post only Windows specific questions in this forum category. If you don't know where to post, please read the different forums' rules. Thanks.
David7578
Blank Cone
Blank Cone
Posts: 15
Joined: 01 May 2014 14:50

VLC transcoding from anything to HEVC... encoder missing?

Postby David7578 » 01 May 2014 15:01

Hi,
I wanted to try to use HEVC for a transcoding task.
I downloaded a nighlty build (vlc-2.2.0-git-20140430-0402)

To start from something simple, I used the built-in vlc functions and got those parameters:

Code: Select all

:sout=#transcode{vcodec=hevc,scale=0.25}:http{mux=ffmpeg{mux=flv},dst=:8080/} :sout-keep
Then I got that error:
It seems your Libav/FFmpeg (libavcodec) installation lacks the following encoder:
MPEG-H Part2/HEVC (H.265).
I get the same error with any nightly I get, I tried multiple ones in the 2.1 and 2.2 branch. Well some builds do not even display the error, but the resulting file is only an audio extraction.

Searching on the forums, I maybe misinterpreted the fact that from 2.1 (and even more 2.2) the encoder was available.
But maybe I should use the command line and use other parameters?
If so, is there a help file with some parameters available somewhere?

I thank you for any useful help provided.

David7578
Blank Cone
Blank Cone
Posts: 15
Joined: 01 May 2014 14:50

Re: VLC transcoding from anything to HEVC... encoder missing

Postby David7578 » 04 May 2014 08:25

I've been trying to update to latest FFmpeg since the error message states it doesn't come from VLC.
But it seems I'm not skilled enough to understand what happens... and what to do to correct my problem.

Any help appreciated.

Thanks

David7578
Blank Cone
Blank Cone
Posts: 15
Joined: 01 May 2014 14:50

Re: VLC transcoding from anything to HEVC... encoder missing

Postby David7578 » 04 May 2014 12:54

So "vlc --list" shows x265 as an encoder.
But "vlc -p x265 --advanced" says there's no module by that name.

Can someone just drop a word to confirm there's no usable x265 encoder in vlc yet?

Jean-Baptiste Kempf
Site Administrator
Site Administrator
Posts: 37523
Joined: 22 Jul 2005 15:29
VLC version: 4.0.0-git
Operating System: Linux, Windows, Mac
Location: Cone, France
Contact:

Re: VLC transcoding from anything to HEVC... encoder missing

Postby Jean-Baptiste Kempf » 04 May 2014 19:46

You cannot use x265 in flv!

You should share your logs.
Jean-Baptiste Kempf
http://www.jbkempf.com/ - http://www.jbkempf.com/blog/category/Videolan
VLC media player developer, VideoLAN President and Sites administrator
If you want an answer to your question, just be specific and precise. Don't use Private Messages.

David7578
Blank Cone
Blank Cone
Posts: 15
Joined: 01 May 2014 14:50

Re: VLC transcoding from anything to HEVC... encoder missing

Postby David7578 » 04 May 2014 21:15

Thanks for the reply.
Regarding the flv settings, well at the time I wanted to try realtime transcoding, and adjusting size/parameters if needed. I used the gui that got me those settings.
But even a file convert gives the same error.

Example:

Code: Select all

vlc.exe "input.h264" :sout=#transcode{vcodec=hevc,scale=0.25}:file{dst=test.mp4} :sout-keep
Short Log (verbose 1)

Code: Select all

-- logger module started -- logger: VLC media player - 2.2.0-git-20140504-0402 Weatherwax logger: Copyright © 1996-2014 the VideoLAN team logger: Attention : si vous n'avez plus accès à l'interface graphique, ouvrez une invite de commande, allez dans le dossier où vous avez installé VLC, et lancez « vlc -I qt ». logger: using logger. -- logger module started -- core: Lancement de vlc avec l'interface par défaut. Utilisez « cvlc » pour démarrer VLC sans interface. core error: Invalid PCR value in ES_OUT_SET_(GROUP_)PCR ! stream_out_transcode: output interval 41708 (base 1001) x265 error: Height (118) must be a multiple of 8 avcodec error: cannot find encoder MPEG-H Part2/HEVC (H.265) *** Your Libav/FFmpeg installation is crippled. *** *** Please check with your Libav/FFmpeg packager. *** *** This is NOT a VLC media player issue. *** stream_out_transcode error: cannot find video encoder (module:any fourcc:hevc) core error: cannot continue streaming due to errors -- logger module stopped -- -- logger module stopped --
Long log (verbose 2)

Code: Select all

-- logger module started -- core debug: VLC media player - 2.2.0-git-20140504-0402 Weatherwax core debug: Copyright © 1996-2014 the VideoLAN team core debug: revision 2.1.0-git-3096-g57b5d92 core debug: configured with ../extras/package/win32/../../../configure '--enable-update-check' '--enable-lua' '--enable-faad' '--enable-flac' '--enable-theora' '--enable-twolame' '--enable-quicktime' '--enable-avcodec' '--enable-merge-ffmpeg' '--enable-dca' '--enable-mpc' '--enable-libass' '--enable-x264' '--enable-schroedinger' '--enable-realrtsp' '--enable-live555' '--enable-dvdread' '--enable-shout' '--enable-goom' '--enable-caca' '--disable-sdl' '--enable-qt' '--enable-skins2' '--enable-sse' '--enable-mmx' '--enable-libcddb' '--enable-zvbi' '--disable-telx' '--enable-nls' '--host=x86_64-w64-mingw32' '--enable-debug' '--disable-gnutls' 'host_alias=x86_64-w64-mingw32' core debug: using interface module "logger" core debug: looking for interface module matching "logger,none": 16 candidates logger: VLC media player - 2.2.0-git-20140504-0402 Weatherwax logger: Copyright © 1996-2014 the VideoLAN team logger: Attention : si vous n'avez plus accès à l'interface graphique, ouvrez une invite de commande, allez dans le dossier où vous avez installé VLC, et lancez « vlc -I qt ». logger: using logger. logger debug: opening logfile `vlc-log.txt' -- logger module started -- core debug: VLC media player - 2.2.0-git-20140504-0402 Weatherwax core debug: Copyright © 1996-2014 the VideoLAN team core debug: revision 2.1.0-git-3096-g57b5d92 core debug: configured with ../extras/package/win32/../../../configure '--enable-update-check' '--enable-lua' '--enable-faad' '--enable-flac' '--enable-theora' '--enable-twolame' '--enable-quicktime' '--enable-avcodec' '--enable-merge-ffmpeg' '--enable-dca' '--enable-mpc' '--enable-libass' '--enable-x264' '--enable-schroedinger' '--enable-realrtsp' '--enable-live555' '--enable-dvdread' '--enable-shout' '--enable-goom' '--enable-caca' '--disable-sdl' '--enable-qt' '--enable-skins2' '--enable-sse' '--enable-mmx' '--enable-libcddb' '--enable-zvbi' '--disable-telx' '--enable-nls' '--host=x86_64-w64-mingw32' '--enable-debug' '--disable-gnutls' 'host_alias=x86_64-w64-mingw32' core debug: using interface module "logger" core debug: adding item `input.h264' ( file:///C:/vlc-2.2.0-git-20140504-0402/input.h264 ) core debug: Creating an input for 'icnopruet .dhe2b6u4g: looking for interface module matching "hotkeys,none": 16 candidates ' core debug: using interface module "hotkeys" core debug: looking for interface module matching "globalhotkeys,none": 16 candidates core debug: using interface module "win32" core: Lancement de vlc avec l'interface par défaut. Utilisez « cvlc » pour démarrer VLC sans interface. core debug: looking for interface module matching "any": 16 candidates core debug: looking for extension module matching "any": 1 candidates lua debug: Opening Lua Extension module lua debug: Trying Lua scripts in C:\Users\David7Pro\AppData\Roaming\vlc\lua\extensions lua debug: Trying Lua scripts in C:\vlc-2.2.0-git-20140504-0402\lua\extensions lua debug: Trying Lua playlist script C:\vlc-2.2.0-git-20140504-0402\lua\extensions\VLSub.luac lua debug: Scanning Lua script C:\vlc-2.2.0-git-20140504-0402\lua\extensions\VLSub.luac lua debug: Script C:\vlc-2.2.0-git-20140504-0402\lua\extensions\VLSub.luac has the following capability flags: 0x5 core debug: using extension module "lua" core debug: using interface module "qt4" core debug: processing request item: null, node: Liste de lecture, skip: 0 core debug: rebuilding array of current - root Liste de lecture core debug: rebuild done - 1 items, index -1 core debug: starting playback of the new playlist item core debug: resyncing on input.h264 core debug: input.h264 is at 0 core debug: creating new input thread core debug: Creating an input for 'input.h264' core debug: using sout chain=`transcode{vcodec=hevc,scale=0.25}:file{dst=test.mp4}' core debug: stream=`file' core debug: looking for sout stream module matching "file": 22 candidates core debug: set config option: sout-standard-dst to test.mp4 core debug: looking for sout access module matching "file": 8 candidates qt4 debug: IM: Setting an input access_output_file debug: file access output opened (test.mp4) core debug: using sout access module "access_output_file" core debug: looking for sout mux module matching "mp4": 10 candidates mux_mp4 debug: Mp4 muxer opened core debug: using sout mux module "mux_mp4" stream_out_standard debug: using `file/mp4://test.mp4' core debug: using sout stream module "stream_out_standard" core debug: stream=`transcode' core debug: looking for sout stream module matching "transcode": 22 candidates core debug: set config option: sout-transcode-vcodec to hevc core debug: set config option: sout-transcode-scale to 0.25 stream_out_transcode debug: Checking video codec mapping for hevc got hevc stream_out_transcode debug: codec video=hevc 0x0 scaling: 0.250000 0kb/s core debug: using sout stream module "stream_out_transcode" core debug: using timeshift granularity of 50 MiB, in path 'c:\Temp' core debug: `file:///C:/vlc-2.2.0-git-20140504-0402/input.h264' gives access `file' demux `' path `/C:/vlc-2.2.0-git-20140504-0402/input.h264' core debug: specified demux `any' core debug: creating demux: access='file' demux='any' location='/C:/vlc-2.2.0-git-20140504-0402/input.h264' file='C:\vlc-2.2.0-git-20140504-0402\input.h264' core debug: looking for access_demux module matching "file": 12 candidates core debug: no access_demux modules matched core debug: creating access 'file' location='/C:/vlc-2.2.0-git-20140504-0402/input.h264', path='C:\vlc-2.2.0-git-20140504-0402\input.h264' core debug: looking for access module matching "file": 19 candidates filesystem debug: opening file `C:\vlc-2.2.0-git-20140504-0402\input.h264' core debug: using access module "filesystem" core debug: Using stream method for AStream* core debug: starting pre-buffering core debug: received first data after 0 ms core debug: pre-buffering done 1024 bytes in 0s - 1000000 KiB/s core debug: looking for stream_filter module matching "any": 6 candidates core debug: no stream_filter modules matched core debug: looking for stream_filter module matching "record": 6 candidates core debug: using stream_filter module "record" core debug: creating demux: access='file' demux='any' location='/C:/vlc-2.2.0-git-20140504-0402/input.h264' file='C:\vlc-2.2.0-git-20140504-0402\input.h264' core debug: looking for demux module matching "h264": 65 candidates h264 debug: using 25.00 fps core debug: looking for packetizer module matching "any": 22 candidates core debug: using packetizer module "packetizer_h264" core debug: using demux module "h264" core debug: meta ok for (null), need to fetch art core debug: looking for meta fetcher module matching "any": 1 candidates lua debug: Trying Lua scripts in C:\Users\David7Pro\AppData\Roaming\vlc\lua\meta\fetcher lua debug: Trying Lua scripts in C:\vlc-2.2.0-git-20140504-0402\lua\meta\fetcher lua debug: Trying Lua playlist script C:\vlc-2.2.0-git-20140504-0402\lua\meta\fetcher\tvrage.luac core debug: using meta fetcher module "lua" core debug: removing module "lua" core debug: searching art for input.h264 core debug: looking for art finder module matching "any": 2 candidates lua debug: Trying Lua scripts in C:\Users\David7Pro\AppData\Roaming\vlc\lua\meta\art lua debug: Trying Lua scripts in C:\vlc-2.2.0-git-20140504-0402\lua\meta\art lua debug: Trying Lua playlist script C:\vlc-2.2.0-git-20140504-0402\lua\meta\art\00_musicbrainz.luac lua debug: Trying Lua playlist script C:\vlc-2.2.0-git-20140504-0402\lua\meta\art\01_googleimage.luac lua debug: Trying Lua playlist script C:\vlc-2.2.0-git-20140504-0402\lua\meta\art\02_frenchtv.luac lua debug: Trying Lua playlist script C:\vlc-2.2.0-git-20140504-0402\lua\meta\art\03_lastfm.luac core debug: no art finder modules matched core debug: art not found for input.h264 core debug: looking for a subtitle file in C:\vlc-2.2.0-git-20140504-0402\ core debug: starting in sync mode core debug: looking for meta reader module matching "any": 2 candidates lua debug: Trying Lua scripts in C:\Users\David7Pro\AppData\Roaming\vlc\lua\meta\reader lua debug: Trying Lua scripts in C:\vlc-2.2.0-git-20140504-0402\lua\meta\reader lua debug: Trying Lua playlist script C:\vlc-2.2.0-git-20140504-0402\lua\meta\reader\filename.luac core debug: no meta reader modules matched core debug: `file:///C:/vlc-2.2.0-git-20140504-0402/input.h264' successfully opened packetizer_h264 debug: found NAL_SPS (sps_id=0) packetizer_h264 debug: found NAL_PPS (pps_id=0 sps_id=0) core debug: selecting program id=0 core debug: looking for packetizer module matching "any": 22 candidates core debug: using packetizer module "packetizer_h264" core error: Invalid PCR value in ES_OUT_SET_(GROUP_)PCR ! core debug: switching to async mode core debug: Buffering 0% core debug: Buffering 13% core debug: Buffering 26% core debug: Buffering 40% core debug: Buffering 53% core debug: Buffering 66% core debug: Buffering 80% core debug: Buffering 93% core debug: Stream buffering done (320 ms in 4 ms) packetizer_h264 debug: found NAL_SPS (sps_id=0) packetizer_h264 debug: found NAL_PPS (pps_id=0 sps_id=0) core debug: adding a new sout input (sout_input:00000000003bf470) stream_out_transcode debug: creating video transcoding from fcc=`h264' to fcc=`hevc' core debug: looking for decoder module matching "any": 43 candidates avcodec debug: CPU flags: 0x010011db avcodec debug: trying to use direct rendering avcodec debug: allowing 3 thread(s) for decoding avcodec debug: avcodec codec (H264 - MPEG-4 AVC (part 10)) started avcodec debug: using frame thread mode with 3 threads core debug: using decoder module "avcodec" core debug: looking for encoder module matching "any": 20 candidates core debug: using encoder module "x265" core debug: removing module "x265" core debug: Decoder wait done in 450 ms avcodec debug: available hardware decoder output format 61 (dxva2_vld) avcodec debug: available software decoder output format 0 (yuv420p) core debug: looking for hw decoder module matching "any": 1 candidates core debug: no hw decoder modules matched avcodec debug: available hardware decoder output format 61 (dxva2_vld) avcodec debug: available software decoder output format 0 (yuv420p) core debug: looking for hw decoder module matching "any": 1 candidates core debug: no hw decoder modules matched avcodec debug: enabling direct rendering stream_out_transcode debug: decoder aspect is 1.759336:1 stream_out_transcode debug: source pixel aspect is 0.995851:1 stream_out_transcode debug: scaled pixel aspect is 0.989627:1 stream_out_transcode debug: source 848x480, destination 208x118 stream_out_transcode debug: source fps 48000/2002, destination 24000/1001 stream_out_transcode: output interval 41708 (base 1001) stream_out_transcode debug: encoder aspect is 650416:368160 core debug: looking for video filter2 module matching "any": 58 candidates swscale debug: 848x480 (848x482) chroma: I420 -> 208x118 (208x118) chroma: I420 with scaling using Bicubic (good quality) core debug: using video filter2 module "swscale" core debug: Filter 'Swscale' (0000000006416af0) appended to chain stream_out_transcode debug: destination (after video filters) 208x118 core debug: looking for encoder module matching "any": 20 candidates x265 error: Height (118) must be a multiple of 8 avcodec debug: CPU flags: 0x010011db avcodec error: cannot find encoder MPEG-H Part2/HEVC (H.265) *** Your Libav/FFmpeg installation is crippled. *** *** Please check with your Libav/FFmpeg packager. *** *** This is NOT a VLC media player issue. *** core debug: no encoder modules matched stream_out_transcode error: cannot find video encoder (module:any fourcc:hevc) core debug: removing module "avcodec" avcodec debug: ffmpeg codec (H264 - MPEG-4 AVC (part 10)) stopped core debug: Filter 0000000006416af0 removed from chain core debug: removing module "swscale" core error: cannot continue streaming due to errors core debug: EOF reached core debug: waiting decoder fifos to empty corcoer ed edbeubgu:g :f irneimsohveidn gi nmpoudtu le "packetizer_h264" core debug: killing decoder fourcc `h264', 0 PES in FIFO core debug: removing a sout input (sout_input:00000000003bf470) core debug: removing module "h264" core debug: removing module "packetizer_h264" core debug: removing module "record" core debug: removing module "filesystem" core debug: Program doesn't contain anymore ES core debug: dead input core debug: changing item without a request (current 0/1) core debug: nothing to play qt4 debug: IM: Deleting the input core debug: Destroying the input for 'input.h264' core debug: exiting core debug: removing all interfaces core debug: exiting core debug: no exit handler core debug: removing module "qt4" core debug: deactivating the playlist core debug: destroying useless sout core debug: destroying chain... (name=transcode) core debug: removing module "stream_out_transcode" core debug: destroying chain done core debug: destroying chain... (name=file) core debug: removing module "stream_out_standard" core debug: removing module "mux_mp4" mux_mp4 debug: Close mux_mp4 debug: movie duration 0s core debug: removing module "access_output_file" access_output_file debug: file access output closed core debug: destroying chain done core debug: removing module "mmdevice" qt4 debug: requesting exit... qt4 dqt4 edbeubgu:g :w aQiAtpipn ge xfeocr( )U If itnhirsehaedd. .. qt4 debug: Video is not needed anymore qt4 debug: Killing extension dialog provider qt4 debug: ExtensionsDialogProvider is quitting... core debug: removing module "lua" lua debug: Deactivating all loaded extensions lua debug: All extensions are now deactivated core debug: removing module "win32" core debug: removing module "hotkeys" core debug: removing module "logger" -- logger module stopped -- -- logger module stopped --

Jean-Baptiste Kempf
Site Administrator
Site Administrator
Posts: 37523
Joined: 22 Jul 2005 15:29
VLC version: 4.0.0-git
Operating System: Linux, Windows, Mac
Location: Cone, France
Contact:

Re: VLC transcoding from anything to HEVC... encoder missing

Postby Jean-Baptiste Kempf » 05 May 2014 00:36

x265 error: Height (118) must be a multiple of 8

Set the height manually.
Jean-Baptiste Kempf
http://www.jbkempf.com/ - http://www.jbkempf.com/blog/category/Videolan
VLC media player developer, VideoLAN President and Sites administrator
If you want an answer to your question, just be specific and precise. Don't use Private Messages.

David7578
Blank Cone
Blank Cone
Posts: 15
Joined: 01 May 2014 14:50

Re: VLC transcoding from anything to HEVC... encoder missing

Postby David7578 » 05 May 2014 06:20

Ok thanks for the help.
So the error is "generic" unless you watch the logs. Clear them and then see what happens.
After setting height/width manually, the encoder started.

Now I will try different settings and see what happens.
Thanks a lot!

David7578
Blank Cone
Blank Cone
Posts: 15
Joined: 01 May 2014 14:50

Re: VLC transcoding from anything to HEVC... encoder missing

Postby David7578 » 05 May 2014 19:31

I wonder if I can speak my trial and errors here...

So, with a transcode command to only encode in hevc and resize the video so that the encoding time is not too long, I get files that can't be played with VLC itself. I'll post a log later. I wonder if I should start a new thread.

David7578
Blank Cone
Blank Cone
Posts: 15
Joined: 01 May 2014 14:50

Re: VLC transcoding from anything to HEVC... encoder missing

Postby David7578 » 08 May 2014 07:57

So far, the encoding works, with problems related to the encapsulation.
Avi: Works, image is fine, but no audio is muxed
MP4: it seems it works, but the file is not playable with either VLC or other HEVC compatible players.
MKV: Works, but video is sometimes garbled, like every 3 seconds. Audio is properly muxed.

David7578
Blank Cone
Blank Cone
Posts: 15
Joined: 01 May 2014 14:50

Re: VLC transcoding from anything to HEVC... encoder missing

Postby David7578 » 15 Nov 2014 08:26

6 months later, big update:
The computer I used for the transcoding has been replaced by an overkill machine with an i7-4790k enough ram and a SSD.
Thing is, the power reserve is so immense I can transcode 1080p to 720p25FPS HEVC with a 1mbps target in realtime and still only use 80% of the processing power.
Needless to say that at the other end the image is vastly different.
If i try to encode to DVD quality, I'm only at 30% power.

So now my goal is to fine tune the settings to prevent buffering that appears when I overshoot the 1mbps limit for too long.

For the record, I transcode a 5 mbps 1080p50 livestream and restream it in hevc with an upload limit around 1mbps (my ADSL/VDSL line can't give more than that)
Wit the old comp, I couldn't use HEVC, too power hungry. So I had to lower resolution a lot (390 horizontal lines at max) in x264 at 25 FPS to meet the power and bandwidth limits.

Now I can go all the way up to 720p25 in HEVC. And VLC latest x64 nighlty does the job. A little detail, for the mux choose TS, it works great.

I'm back playing with the parameters and see if I can find a set that works best against bandwidth overshoot.

andrew46
Blank Cone
Blank Cone
Posts: 60
Joined: 01 Jun 2009 11:36
Operating System: Linux

Re: VLC transcoding from anything to HEVC... encoder missing?

Postby andrew46 » 02 May 2015 05:58

Have you managed to manipulate the crf setting from the vlc commandline? If so could you give a sample commandline?

This is something I have consistently failed to do...


Return to “VLC media player for Windows Troubleshooting”

Who is online

Users browsing this forum: No registered users and 10 guests