Encoding app that can utilize hardware encoder - ONE Q&A, Help & Troubleshooting

Hi all,
As title suggests, I am looking for an app that can do video encoding via Snapdragon 801's hardware encoder and ideally has minimum CPU usage. The most common scenario would be converting a FHD WMV file to common Android formats like mp4,mkv or even avi. There are millions of apps on the market but non of them really specifies any details about HW encoding.
Any ideas are welcome.
Thanks!

MX Player is probably the most well know app that has a great hardware decoder.

CafeKampuchia said:
MX Player is probably the most well know app that has a great hardware decoder.
Click to expand...
Click to collapse
I am actually looking for an Encoder.

Related

Video Player software/hardware

Is there any combo video player?
For solve problem with Tegra 2 unsupported codecs.
PS. Video - hardware decode, audio - software decode
dimon222 said:
Is there any combo video player?
For solve problem with Tegra 2 unsupported codecs.
PS. Video - hardware decode, audio - software decode
Click to expand...
Click to collapse
Im not sure if it's what you are looking for but MoboPlayer is the best video player I have found and I have tried ALOT.
It's free on the Market and works very well both visually and for compatability with all file types.
Mark.
mskip
Tegra 2 doesn't support hardware decoding AC3/DTS.
I want to decode sound via software. But video via hardware.
You didn't answered mine question
dimon222 said:
mskip
Tegra 2 doesn't support hardware decoding AC3/DTS.
I want to decode sound via software. But video via hardware.
You didn't answered mine question
Click to expand...
Click to collapse
To my mind this is a sort of one-or-the-other situation when it comes to decoding a video 'container' with video and audio 'streams', I don't think there is anything that will do a mixture of both hardware and software decoding depending on what 'streams' can or can't be decoded by the hardware. This would probably create all sorts of complications from a developer's perspective to try and implement such a feature. Even if only one of the 'streams' can't be processed by the hardware the software will kick in and take over processing of both 'streams'. The video 'container' is treated as a single entity as far as I can see, therefore only one decoding method (whichever it is that can decode both 'streams') can be used at any one time.
[EDIT]: Come to think of it, why do you want this kind of hybrid processing in the first place ?
jonitfcfan
Coz lazy to compress each video for just watching on Asus (due "AC3" sound decoder by standard in about every video)
dimon222 said:
jonitfcfan
Coz lazy to compress each video for just watching on Asus (due "AC3" sound decoder by standard in about every video)
Click to expand...
Click to collapse
You can use one of the "MKV -> MP4" converter, like gotsent, XeonMKV...
They are only encoding the ac3 stream to aac put them and the video stream into mp4 container.
dimon222 said:
jonitfcfan
Coz lazy to compress each video for just watching on Asus (due "AC3" sound decoder by standard in about every video)
Click to expand...
Click to collapse
Sometimes you've gotta put extra work into getting more out of things .

[Q] Laggy when playing video 1080p with VP9 video format

Hi, Recently I've downloaded video 1080p from youtube but when playing it, the video laggy but the audio just playing properly fine...
I thought it because the decoder set to H/W, but when switched to S/W both video & audio become laggy, then try switched to H/W+ it become worse (doesn't support this kind video it says...).
When I see media info of video, it use VP9 format video.
Here is the video: www[dot]youtube[dot]com/watch?v=aE2GCa-_nyU
I've tried on 3 devices; Asus Zenfone 6, Samsung Galaxy Note 10.1, and LG G2, all of it have the same issues...
And tried on PC to check if the video has errors or something, but the video is playing perfectly fine.
Is it something like bugs so the video didn't play properly? Or android can't play video with format VP9 properly?
Because I've tried other video 1080p, it can be played properly.
Oh FYI, I've tried using few other video player, and none of its can play the video as good as MX Player. That's why I've been using MX Player as default video player.
Hope there will be improvement on the next update so the video VP9 1080p can be played properly
MX Player is the best
All 1080p videos are not same.
It may lag at various parameters like higher frame rate, bitrate, color depth,....etc.
For example if you consider a video 1080p @ 30fps inorder to display 1 sec of videos it needs to decode 30 frames. Where as in 1080p @ 60 fps it requires 60 frames to be decoded. So, It will require the double power. Like wise various encoding parameters matters in video playback.
Second, H/W uses your hardware's native decoder . If the codec is natively supported by your device, H/W decoder will be the best option.
In case of S/W decoder, it supports more video formats since it depends on the ffmpeg. But, decoding will be completely done one CPU. So, it needs very high cpu power. That's why it's more laggy.
Night.Lurker said:
Hi, Recently I've downloaded video 1080p from youtube but when playing it, the video laggy but the audio just playing properly fine...
I thought it because the decoder set to H/W, but when switched to S/W both video & audio become laggy, then try switched to H/W+ it become worse (doesn't support this kind video it says...).
When I see media info of video, it use VP9 format video.
Here is the video: www[dot]youtube[dot]com/watch?v=aE2GCa-_nyU
I've tried on 3 devices; Asus Zenfone 6, Samsung Galaxy Note 10.1, and LG G2, all of it have the same issues...
And tried on PC to check if the video has errors or something, but the video is playing perfectly fine.
Is it something like bugs so the video didn't play properly? Or android can't play video with format VP9 properly?
Because I've tried other video 1080p, it can be played properly.
Oh FYI, I've tried using few other video player, and none of its can play the video as good as MX Player. That's why I've been using MX Player as default video player.
Hope there will be improvement on the next update so the video VP9 1080p can be played properly
MX Player is the best
Click to expand...
Click to collapse
VP9 isn't a widely supported format. That's likely why HW and HW+ don't work well with it; most devices don't have VP9 hardware acceleration.
SW rendering of a 1080p video is very demanding. Even on the most powerful devices, since there's no hardware acceleration, expect performance to be sub-par. Currently, devices on the market can only SW render 720p smoothly.
This being said, for SW mode, try Settings > Decoder > use speedup tricks. See if that helps a little bit on SW.
Ultimately, the best option is to reencode the video to something like H264/AVC mp4.
VP9 on KitKat+
I've tried on 3 devices; Asus Zenfone 6, Samsung Galaxy Note 10.1, and LG G2, all of it have the same issues...
And tried on PC to check if the video has errors or something, but the video is playing perfectly fine.
Click to expand...
Click to collapse
Can you explain more where you're trying to playback the video? VP9 support is built in to Android from KitKat+ and should not have an issue playing back. Additionally, can you try playing back the video on Chrome on Android and see if there are still decode issues?
Thanks.
ktsamy said:
All 1080p videos are not same.
It may lag at various parameters like higher frame rate, bitrate, color depth,....etc.
For example if you consider a video 1080p @ 30fps inorder to display 1 sec of videos it needs to decode 30 frames. Where as in 1080p @ 60 fps it requires 60 frames to be decoded. So, It will require the double power. Like wise various encoding parameters matters in video playback.
Second, H/W uses your hardware's native decoder . If the codec is natively supported by your device, H/W decoder will be the best option.
In case of S/W decoder, it supports more video formats since it depends on the ffmpeg. But, decoding will be completely done one CPU. So, it needs very high cpu power. That's why it's more laggy.
Click to expand...
Click to collapse
CDB-Man said:
VP9 isn't a widely supported format. That's likely why HW and HW+ don't work well with it; most devices don't have VP9 hardware acceleration.
SW rendering of a 1080p video is very demanding. Even on the most powerful devices, since there's no hardware acceleration, expect performance to be sub-par. Currently, devices on the market can only SW render 720p smoothly.
This being said, for SW mode, try Settings > Decoder > use speedup tricks. See if that helps a little bit on SW.
Ultimately, the best option is to reencode the video to something like H264/AVC mp4.
Click to expand...
Click to collapse
I see... So the point is the problem because most devices don't have VP9 hardware accelaration yet, especially for 1080p VP9...
Well... I've tried using SW speed up trick, it didn't much help...
Yeah...maybe the best option is to reencode the video to H264...or download 720p version..., cause the 720p VP9 can be played perfectly fine.
Still... I hope the MX Player developer team has plan to improve playback for 1080p VP9 video
Btw thanks for your answer bro
gurupanguji said:
Can you explain more where you're trying to playback the video? VP9 support is built in to Android from KitKat+ and should not have an issue playing back. Additionally, can you try playing back the video on Chrome on Android and see if there are still decode issues?
Thanks.
Click to expand...
Click to collapse
As I said before, I'm trying to play 1080p VP9 video (that I've downloaded from youtube using IDM on computer) on my Asus Zenfone 6, Samsung Galaxy Note 10.1, & LG G2 using MX Player.
But when I playing it, the video is laggy on all devices...
Surely you can streaming it using youtube app & chrome android and it plays well till the end cause the available quality option in those apps is up to 720p (the 1080p quality option is hidden on those apps so I can't select it to test if it plays well or not).
Night.Lurker said:
Still... I hope the MX Player developer team has plan to improve playback for 1080p VP9 video
Click to expand...
Click to collapse
That would be something you would have to ask the ffmpeg team to do, since MX uses their codecs. Unless the MX dev has a magic trick up his sleeve, I don't think there's much else MX can do to further improve SW playback performance for a video that exceeds the CPU's capabilities...
Likewise, on a hardware acceleration, it's limited by the hardwaree put in place by the manufacturer... so this aspect would need a new device.
Hi, i bumping this thread because i encountered the issue on some youtube vids too, but it's mostly playing fine, i think that with a few updates it will be good my phone is getting hot fast though.. (oneplus one)
VP9 1440p https://www.youtube.com/watch?v=mNNfZuIA1GQ : fine
VP9 1080p with a lot of "motion" https://www.youtube.com/watch?v=KGyZY4HNumw a bit laggy
I think I have already answered.
Read the second post. Video encoding parameters matters.
If you can't play in H/W or H/W+ decoder, Don't expect the smooth playback on S/W. It fully depends on CPU. If is laggy then your processor is not powerful enough. Sometime enabling the speed up tricks may reduce the lagging.
One more thing, using CPU will drain your battery faster than H/W. When CPU runs it's maximum speed for long time it will emit more heat which may lead to issues.
ktsamy said:
I think I have already answered.
Read the second post. Video encoding parameters matters.
If you can't play in H/W or H/W+ decoder, Don't expect the smooth playback on S/W. It fully depends on CPU. If is laggy then your processor is not powerful enough. Sometime enabling the speed up tricks may reduce the lagging.
One more thing, using CPU will drain your battery faster than H/W. When CPU runs it's maximum speed for long time it will emit more heat which may lead to issues.
Click to expand...
Click to collapse
Okay thank you. Then i hope new processors will have vp9 decoding h/w
coc014 said:
Okay thank you. Then i hope new processors will have vp9 decoding h/w
Click to expand...
Click to collapse
The chance of that happening, I can't see to be high. The MPEG consortium probably pays a lot to lobby chipset makers to only support MPEG formats, such as H.264 and H.265.
CDB-Man said:
The MPEG consortium probably pays a lot to lobby chipset makers to only support MPEG formats, such as H.264 and H.265.
Click to expand...
Click to collapse
Lolno, it's just that industry is not interested in VP9. Even if they don't have to pay royalties they still have to develop asics (and h/w engineers are saying that it's not h/w friendly) and include them into the chip. It still costs a lot.
And what is the point of supporting vp9? It's an ugly google toy that they're ready to abandon (say hello to vp10 in 2015).
Ah yes, ASICs. I don't think manufacturers would be very happy at making more dies for new ICs. They already aren't happy with being forced to support Hi10p in H.265.
Forced? I would be happy if they were forced, but, at least Qualcomm, have no plans whatsoever
vivan000 said:
Forced? I would be happy if they were forced, but, at least Qualcomm, have no plans whatsoever
Click to expand...
Click to collapse
Well, this sucks. Looks like we'll be waiting another generation... Where did you find that support chart?
Edit: We should move this discussion to the 10-bit thread. I'm going to quote you over there. http://forum.xda-developers.com/app...layer-10-bit-video-discussion-t2725241/page12
abput supporting vp9 1080p and undeleting files in mx player p higher andrpid version
first of all:
"Most probably you’re on Android marshmallow 6.0 API. If you’re trying to delete a video that is located on the external storage then its not possible due to some bug in the file system and mx player.
If you’re on the internal storage then MX player has only read only rights on the directory on which you’re currently on."
or just delete on your internal system file manager application.
Second answer about playng videos vp9
becayse you can't play vp9 if you download youtube videos with IDM (internet download manager)
because it is bull**** and its newer versions used idmmkvlib.01 codec.so when downloadimg it not only download andit convert into ist bull**** special format.so won't play withx pr others.try another downloader or manual download yt videos i recomend.

[Q] Only Software Decoder for MKV Files?

I love using MX Player to watch shows on my Android devices. However I'm watching Psycho-Pass right now and noticed that only software decoder works for .mkv files, probably because of the way fansub groups encode their anime. Are there any intentions to add in a hardware decoder support for .mkv files in the future? Would help a lot with regards to how smooth the show is when I try to watch it on my phone, especially if it is 1080P. Would also help with battery life too.
Or is this more related with Hi10P? It seems that way but I am not sure since I know some of the anime I watch encode using Hi10P while others don't.
.mkv is just a container. What matters is video codec. H.264 will be decoded using h/w decoder (unless something in f/w is badly broken), 10-bit H.264 ("Hi10P") can't be decoded using h/w decoder and nobody can do anything about it.
(you can check the profile using MediaInfo on PC)

[Feature Request] Full hardware acceleration

Hi,
@ forum moderator / developer
Many Video players use GPU to decode and then CPU for transmitting buffer to display on supported videos. I don't know how Mx player handle videos. Is it possible to use GPU for decoding and directly throw the buffers to display (instead of using cpu to carry buffer)? Currently I have seen this feature in Vlc for android. It would be really better for performance as well as less battery uses.
In HW mode MX player just asks system to play video and it should use the fastest way. Dunno what happens in HW+
Also I'm not sure if there's any difference - since there's no real VRAM CPU and GPU buffers are the same.
warvevo said:
Hi,
@ forum moderator / developer
Many Video players use GPU to decode and then CPU for transmitting buffer to display on supported videos. I don't know how Mx player handle videos. Is it possible to use GPU for decoding and directly throw the buffers to display (instead of using cpu to carry buffer)? Currently I have seen this feature in Vlc for android. It would be really better for performance as well as less battery uses.
Click to expand...
Click to collapse
vivan000 said:
In HW mode MX player just asks system to play video and it should use the fastest way. Dunno what happens in HW+
Also I'm not sure if there's any difference - since there's no real VRAM CPU and GPU buffers are the same.
Click to expand...
Click to collapse
As @vivan000 said, H/W decoder uses androids native mediaplayer interface. So, the video will be played using system decoders.
H/W+ uses the same system decoders. But, it uses MXPlayer's own media framework. So, it can support more formats.
So, Both H/W and H/W+ are most efficient decoders.
But, S/W decoder uses CPU for decoding. So, you will not get the benifit of hardware acceleration. It may need very fast cpu depending upon the video. So, it may not be as efficient as H/W or H/W+. But, only thing is you can play almost all formats.
Sent from my SM-G900H

[Q] Hevc

I want to play 720p HEVC H.265 in MX Player. Does it depends on mobile? Do I need to download any codecs? What are the minimum requirements to play HEVC in MX Player smoothly? Pleasy do reply.
awesomealpesh said:
I want to play 720p HEVC H.265 in MX Player. Does it depends on mobile? Do I need to download any codecs? What are the minimum requirements to play HEVC in MX Player smoothly? Pleasy do reply.
Click to expand...
Click to collapse
Yes, it's completely depends on device.
If the device natively supports HEVC, you can play HEVC in HW decoder. Else, SW decoder is the only option. But, it needs very powerful processor.
Sent from my SM-G900H using Tapatalk
Hevc
If I want to play it in SW, then how much powerful processor is needed?
It will be a great help if you mention minimum requirements for PC too.
Thanks
awesomealpesh said:
If I want to play it in SW, then how much powerful processor is needed?
It will be a great help if you mention minimum requirements for PC too.
Thanks
Click to expand...
Click to collapse
It depends upon the quality of the video.
Just try yourself. If SW is laggy, your processor is not powerful enough to play that video.
Sent from my SM-G900H using Tapatalk
awesomealpesh said:
If I want to play it in SW, then how much powerful processor is needed?
It will be a great help if you mention minimum requirements for PC too.
Thanks
Click to expand...
Click to collapse
Any Device, with CyanogenOS 12.1 / CyanogenMod 12.1 Can play smoothly in HW for 720p hevc/x265 8bit (10bit, not sure) @ 25fps.
With the same codec & resolution above 25fps, You need a device Display of 720p Resolution (Must).
For PC (Windows Platform Only), The Best of The Best - K-Lite Mega Codec Pack ( Much better than VLC ) URL :-
http://codecguide.com
Deblocking feature would be great for that. We can disable deblocking for highly compressed videos to achieve a better decoding.
** A - R ** said:
Any Device, with CyanogenOS 12.1 / CyanogenMod 12.1 Can play smoothly in HW for 720p hevc/x265 8bit (10bit, not sure) @ 25fps.
With the same codec & resolution above 25fps, You need a device Display of 720p Resolution (Must).
For PC (Windows Platform Only), The Best of The Best - K-Lite Mega Codec Pack ( Much better than VLC ) URL :-
http://codecguide.com
Click to expand...
Click to collapse
You are completely wrong...!
Eventhough rom configuration also plays a vital role in multimedia performance, it's mainly depends on the processor. If I am not wrong to implement HW acceleration for HEVC the chipset must support HEVC.
In device with unsupported chipset can't be HW accelerated even when you use Cyanogen(Mod/OS) 12.1.
Sent from my SM-G900H using Tapatalk
Hi i have wonderings, concerning HEVC on phones.
I can play my H265 videos on my phones enough smoothly (i used to have a Honor 6, and now it's a Oneplus X) - tryed VLC or MX Player Pro (+AC3&DTS Codec).
Yet i can't move inside any video. if i try to, the video always restart from the beginning. It's really annoying to me.
Concerning the HiSilicon processor, i thought there was some incompatibility, but with the OPX's SD801, everything should be fine, shouldn't it ?
Thanks in advance for your help
Lord_Babass said:
Hi i have wonderings, concerning HEVC on phones.
I can play my H265 videos on my phones enough smoothly (i used to have a Honor 6, and now it's a Oneplus X) - tryed VLC or MX Player Pro (+AC3&DTS Codec).
Yet i can't move inside any video. if i try to, the video always restart from the beginning. It's really annoying to me.
Concerning the HiSilicon processor, i thought there was some incompatibility, but with the OPX's SD801, everything should be fine, shouldn't it ?
Thanks in advance for your help
Click to expand...
Click to collapse
SW or HW decoder? Also, sounds like your video may have container wrapping issues, if you cannot seek.
OnePlus One should have more than enough power.
I've tried sw,hw, and hw+.
The behavior keeps the same.
As i mostly watch downloaded mangas, i've tried different ones, from different groups, but always impossible to seek inside a video...
What i understand from you is that it is not normal, and not a known issue... Crap!
ktsamy said:
You are completely wrong...!
Eventhough rom configuration also plays a vital role in multimedia performance, it's mainly depends on the processor. If I am not wrong to implement HW acceleration for HEVC the chipset must support HEVC.
In device with unsupported chipset can't be HW accelerated even when you use Cyanogen(Mod/OS) 12.1.
Sent from my SM-G900H using Tapatalk
Click to expand...
Click to collapse
@ktsamy, I Just Forgot That.
Thanks Mate.
@CDB-Man do you think it is something you can reproduce/investigate? (in OPX we have SD801 version aa i think...)
i truly believe that very few people use H265 for now, so such problem may keep marginal.
i haven't mentioned that i have tried every video reader i found on google play, all behave the same.
Or maybe does it come from the manufacturer's implementation/drivers in its rom ? (what about SD801 with samsung's S5 phone?)
I haven't encountered any seek issues specific to HEVC; what I have seen before are videos not in a proper MKV or other container, and therefore you cannot seek it.
A raw .hevc video stream file, you may not be able to seek.

Categories

Resources