Puppy Linux Discussion Forum Forum Index Puppy Linux Discussion Forum
Puppy HOME page : puppylinux.com
"THE" alternative forum : puppylinux.info
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

The time now is Wed 07 Dec 2016, 22:23
All times are UTC - 4
 Forum index » Advanced Topics » Additional Software (PETs, n' stuff) » REQUESTS
x265 HEVC encoder for 32- and 64-bit Pupplets
Post new topic   Reply to topic View previous topic :: View next topic
Page 1 of 1 [5 Posts]  
Author Message
Puppyt

Joined: 09 May 2008
Posts: 634
Location: Gatton, Queensland

PostPosted: Sat 18 Jun 2016, 20:18    Post subject:  x265 HEVC encoder for 32- and 64-bit Pupplets
Subject description: Asking for an OOTB solution for new codec playback in VLC etc
 

I am having difficulties playing hevc (hev1) media files, as initially flagged here http://www.murga-linux.com/puppy/viewtopic.php?p=908249#908249. I'm using the TahrPup64 6.0.5 CE environment and while I could probably make my request there, I think that the wider Puppy community could benefit from a simplified playback solution (see http://www.winxdvd.com/resource/h265-encoder.htm for a bit of background).
So what happened is that I couldn't play an hev1-encoded MP4 file in TahrPup64's built-in VLC 2.1.4 Rincewind. After upgrading via PPM to VLC 2.2.1 Weatherwax still no go. Went to GitHub to install the libde265 plugin vlc-libde265-master, needed to Install the devx to make/compile and found I then also needed the prerequisites:
- libvlccore-dev
- libde265-dev (>= 0.7)
- libebml-dev
- libmatroska-dev
- libdvbpsi-dev
...and have attempted to install libde265 and gstreamer-lib265 to backfill the gaps. I have tripped up somewhere, and I still can't play the hevc files.

I also tried to compile and install the latest mplayer from PPM - and receive an error concerning main.png corruption in the default skin subdirectory that repeats despite numerous re-installs from fresh downloads. The problem lies in the packaging of mplayer-skins_3.1, I think.

I then tried smplayer, but again I need the x265 libraries installed somewhere (??) for successful playback. I'm guessing...

Sorry for the blow-by-blow. Frustrated it's not happening for me. The request boils down to: what is the easiest/best way to play x265 codec files in Puppy? Is there a solution publicly available for download, as I haven't been able to find it. Any advice or submission on this would be most appreciated, cheers.

PS an alternative recipe here https://bitbucket.org/multicoreware/x265/wiki/Home)

_________________
Toowoomba Linux Community
http://groups.google.com/group/toowoombalinux
Back to top
View user's profile Send private message Visit poster's website 
OscarTalks


Joined: 05 Feb 2012
Posts: 1366
Location: London, England

PostPosted: Sat 18 Jun 2016, 21:35    Post subject:  

My VLC 2.1.6 which I compiled in Wheezy has HEVC playback support which works fine so long as your CPU is powerul enough (it tends to need quite a lot of processing power for this format). I did spend a lot of time adding libraries and re-compiling including libde265 and the VLC plugin and it worked. Not sure if you can just compile the plugin on its own, I re-compiled the whole thing after adding the libs.

Also my mplayer (with GUI) builds are recent source code checkouts and these include a recent static ffmpeg so they will also play HEVC although you really need to add the "-lavdopts threads=2" argument to the exec line in the .desktop file to use 2 cores otherwise playback is not so good. If you use smplayer as a front end you can set this via the preferences. I'm afraid I haven't compiled anything in any 64bit Puppies though.
http://smokey01.com/OscarTalks

_________________
Oscar in England

Back to top
View user's profile Send private message 
Puppyt

Joined: 09 May 2008
Posts: 634
Location: Gatton, Queensland

PostPosted: Sun 19 Jun 2016, 01:26    Post subject:  

Thanks OscarTalks Smile In the interim I was able to follow the multicoreware readme's up to a point:
Code:
root# make
-- cmake version 2.8.12.2
-- Detected x86_64 target processor
-- Could NOT find NUMA (missing:  NUMA_ROOT_DIR NUMA_INCLUDE_DIR NUM                              A_LIBRARY)
-- Found Yasm 1.2.0 to build assembly primitives
-- x265 version 1.9
-- Configuring done
-- Generating done
-- Build files have been written to: /x265_1.9/build/linux
Scanning dependencies of target common
[  1%] Building ASM_YASM object common/CMakeFiles/common.dir/x86/pix                              el-a.asm.o
[  2%] Building ASM_YASM object common/CMakeFiles/common.dir/x86/const-a.asm.o
[  3%] Building ASM_YASM object common/CMakeFiles/common.dir/x86/cpu-a.asm.o
[  5%] Building ASM_YASM object common/CMakeFiles/common.dir/x86/ssd-a.asm.o
[  6%] Building ASM_YASM object common/CMakeFiles/common.dir/x86/mc-a.asm.o
[  7%] Building ASM_YASM object common/CMakeFiles/common.dir/x86/mc-a2.asm.o
[  9%] Building ASM_YASM object common/CMakeFiles/common.dir/x86/pixel-util8.asm.o
[ 10%] Building ASM_YASM object common/CMakeFiles/common.dir/x86/blockcopy8.asm.o
[ 11%] Building ASM_YASM object common/CMakeFiles/common.dir/x86/pixeladd8.asm.o
[ 12%] Building ASM_YASM object common/CMakeFiles/common.dir/x86/dct8.asm.o
[ 14%] Building ASM_YASM object common/CMakeFiles/common.dir/x86/sad-a.asm.o
[ 15%] Building ASM_YASM object common/CMakeFiles/common.dir/x86/intrapred8.asm.o
[ 16%] Building ASM_YASM object common/CMakeFiles/common.dir/x86/intrapred8_allangs.asm.o
[ 18%] Building ASM_YASM object common/CMakeFiles/common.dir/x86/ipfilter8.asm.o
[ 19%] Building ASM_YASM object common/CMakeFiles/common.dir/x86/loopfilter.asm.o
[ 20%] Building CXX object common/CMakeFiles/common.dir/x86/asm-primitives.cpp.o
[ 22%] Building CXX object common/CMakeFiles/common.dir/vec/vec-primitives.cpp.o
[ 23%] Building CXX object common/CMakeFiles/common.dir/vec/dct-sse3.cpp.o
[ 24%] Building CXX object common/CMakeFiles/common.dir/vec/dct-ssse3.cpp.o
[ 25%] Building CXX object common/CMakeFiles/common.dir/vec/dct-sse41.cpp.o
[ 27%] Building CXX object common/CMakeFiles/common.dir/primitives.cpp.o
[ 28%] Building CXX object common/CMakeFiles/common.dir/pixel.cpp.o
[ 29%] Building CXX object common/CMakeFiles/common.dir/dct.cpp.o
[ 31%] Building CXX object common/CMakeFiles/common.dir/ipfilter.cpp.o
[ 32%] Building CXX object common/CMakeFiles/common.dir/intrapred.cpp.o
[ 33%] Building CXX object common/CMakeFiles/common.dir/loopfilter.cpp.o
[ 35%] Building CXX object common/CMakeFiles/common.dir/constants.cpp.o
[ 36%] Building CXX object common/CMakeFiles/common.dir/cpu.cpp.o
[ 37%] Building CXX object common/CMakeFiles/common.dir/version.cpp.o
[ 38%] Building CXX object common/CMakeFiles/common.dir/threading.cpp.o
[ 40%] Building CXX object common/CMakeFiles/common.dir/threadpool.cpp.o
[ 41%] Building CXX object common/CMakeFiles/common.dir/wavefront.cpp.o
[ 42%] Building CXX object common/CMakeFiles/common.dir/md5.cpp.o
[ 44%] Building CXX object common/CMakeFiles/common.dir/bitstream.cpp.o
[ 45%] Building CXX object common/CMakeFiles/common.dir/yuv.cpp.o
[ 46%] Building CXX object common/CMakeFiles/common.dir/shortyuv.cpp.o
[ 48%] Building CXX object common/CMakeFiles/common.dir/picyuv.cpp.o
[ 49%] Building CXX object common/CMakeFiles/common.dir/common.cpp.o
[ 50%] Building CXX object common/CMakeFiles/common.dir/param.cpp.o
[ 51%] Building CXX object common/CMakeFiles/common.dir/frame.cpp.o
[ 53%] Building CXX object common/CMakeFiles/common.dir/framedata.cpp.o
[ 54%] Building CXX object common/CMakeFiles/common.dir/cudata.cpp.o
[ 55%] Building CXX object common/CMakeFiles/common.dir/slice.cpp.o
[ 57%] Building CXX object common/CMakeFiles/common.dir/lowres.cpp.o
[ 58%] Building CXX object common/CMakeFiles/common.dir/piclist.cpp.o
[ 59%] Building CXX object common/CMakeFiles/common.dir/predict.cpp.o
[ 61%] Building CXX object common/CMakeFiles/common.dir/scalinglist.cpp.o
[ 62%] Building CXX object common/CMakeFiles/common.dir/quant.cpp.o
[ 63%] Building CXX object common/CMakeFiles/common.dir/deblock.cpp.o
[ 63%] Built target common
Scanning dependencies of target encoder
[ 64%] Building CXX object encoder/CMakeFiles/encoder.dir/analysis.cpp.o
[ 66%] Building CXX object encoder/CMakeFiles/encoder.dir/search.cpp.o
[ 67%] Building CXX object encoder/CMakeFiles/encoder.dir/bitcost.cpp.o
[ 68%] Building CXX object encoder/CMakeFiles/encoder.dir/motion.cpp.o
[ 70%] Building CXX object encoder/CMakeFiles/encoder.dir/slicetype.cpp.o
[ 71%] Building CXX object encoder/CMakeFiles/encoder.dir/frameencoder.cpp.o
[ 72%] Building CXX object encoder/CMakeFiles/encoder.dir/framefilter.cpp.o
[ 74%] Building CXX object encoder/CMakeFiles/encoder.dir/level.cpp.o
[ 75%] Building CXX object encoder/CMakeFiles/encoder.dir/nal.cpp.o
[ 76%] Building CXX object encoder/CMakeFiles/encoder.dir/sei.cpp.o
[ 77%] Building CXX object encoder/CMakeFiles/encoder.dir/sao.cpp.o
[ 79%] Building CXX object encoder/CMakeFiles/encoder.dir/entropy.cpp.o
[ 80%] Building CXX object encoder/CMakeFiles/encoder.dir/dpb.cpp.o
[ 81%] Building CXX object encoder/CMakeFiles/encoder.dir/ratecontrol.cpp.o
[ 83%] Building CXX object encoder/CMakeFiles/encoder.dir/reference.cpp.o
[ 84%] Building CXX object encoder/CMakeFiles/encoder.dir/encoder.cpp.o
[ 85%] Building CXX object encoder/CMakeFiles/encoder.dir/api.cpp.o
[ 87%] Building CXX object encoder/CMakeFiles/encoder.dir/weightPrediction.cpp.o
[ 87%] Built target encoder
Scanning dependencies of target x265-shared
Linking CXX shared library libx265.so
[ 87%] Built target x265-shared
Scanning dependencies of target cli
[ 88%] Building CXX object CMakeFiles/cli.dir/input/input.cpp.o
[ 89%] Building CXX object CMakeFiles/cli.dir/input/yuv.cpp.o
[ 90%] Building CXX object CMakeFiles/cli.dir/input/y4m.cpp.o
[ 92%] Building CXX object CMakeFiles/cli.dir/output/output.cpp.o
[ 93%] Building CXX object CMakeFiles/cli.dir/output/reconplay.cpp.o
[ 94%] Building CXX object CMakeFiles/cli.dir/output/yuv.cpp.o
[ 96%] Building CXX object CMakeFiles/cli.dir/output/y4m.cpp.o
[ 97%] Building CXX object CMakeFiles/cli.dir/output/raw.cpp.o
[ 98%] Building CXX object CMakeFiles/cli.dir/x265.cpp.o
[100%] Building CXX object CMakeFiles/cli.dir/x265-extras.cpp.o
Linking CXX executable x265
[100%] Built target cli
Scanning dependencies of target x265-static
Linking CXX static library libx265.a
[100%] Built target x265-static
root#

...having downloaded keyboard-k's pet from here http://murga-linux.com/puppy/viewtopic.php?p=848696#848696 - and also having installed the 32-bit compatibility sfs for TahrPup64. But when I got to
Code:
 Now build the encoder and run x265 -V:
I was able I think to build the encoder, but "x265 -V" just returns "command x265 was not found". Have moved the extracted/compiled file structures from / to /usr, but still no luck in VLC seeing the plugin. Really I don't know *where* to install the files to - if it mattered. It would play the audio. After installing your mplayer - thank you very much - I was still not able to get vision, but fine for audio. Smplayer 0.8.6 *does* actually run both audio and video now.

I'm a bit stuck as "Remove built-in packages" drops out to nothing in TahrPup64, so I can't overwrite the pre-existing VLC 2.1.6 for your version for testing, even after removing tne VLC2.2.1 upgrade. Upshot is I don't know what I did to maybe fix the issue, and what has been absolutely useless Smile You can see I'm still totally in the dark.

_________________
Toowoomba Linux Community
http://groups.google.com/group/toowoombalinux
Back to top
View user's profile Send private message Visit poster's website 
OscarTalks


Joined: 05 Feb 2012
Posts: 1366
Location: London, England

PostPosted: Sun 19 Jun 2016, 11:22    Post subject:  

Well my VLC was compiled in Wheezy so I would not expect it it work fully (if at all) in other Puppies. The libraries in Precise are similar to Wheezy so most common codecs and functions do appear to work in that, but I would never guarantee that everyting will work.

It seems that there are 2 alternative implementations of HEVC, one is libx265 and the other is libde265. The VLC 2.1.6 does not appear to support libx265 and the plugin requires libde265. I think VLC 2.2.* has introduced support for libx265 but it may not be via the same libde265 plugin. I was unable to get the main VLC 2.2.* application to compile in Wheezy so I just stuck with my 2.1.6 because it worked fine.

If your objective is to find a player for HEVC then I would say that the easiest way is to compile the latest mplayer (and latest smplayer if you like) in your Puppy. I found this easier than compiling VLC.
http://murga-linux.com/puppy/viewtopic.php?t=80546&start=764
In fact if you just compile the latest ffmpeg you can even play HEVC videos by simply opening them with ffplay and using the keyboard controls.

_________________
Oscar in England


Last edited by OscarTalks on Sun 19 Jun 2016, 11:30; edited 1 time in total
Back to top
View user's profile Send private message 
ally


Joined: 19 May 2012
Posts: 1352
Location: lincoln, uk

PostPosted: Sun 19 Jun 2016, 11:28    Post subject:  

I had a similar issue recently, solved by playing the files on kodi which can handle the format

I'm running a quad core i5 which got the machine pretty toasty, need more power!

Smile
Back to top
View user's profile Send private message Visit poster's website 
Display posts from previous:   Sort by:   
Page 1 of 1 [5 Posts]  
Post new topic   Reply to topic View previous topic :: View next topic
 Forum index » Advanced Topics » Additional Software (PETs, n' stuff) » REQUESTS
Jump to:  

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group
[ Time: 0.0450s ][ Queries: 11 (0.0033s) ][ GZIP on ]