fupdec / mediaChips

Manage your videos, add any metadata to them and play them.
https://mediachips.app
GNU General Public License v3.0
166 stars 22 forks source link

Transcoding for unsupported video formats #42

Open fupdec opened 3 years ago

mf35 commented 3 years ago

Hello. Do you have a lead for HEVC support, now that you got back to HTML5 video player ?

fupdec commented 3 years ago

Not. In theory, when I figure out how to efficiently convert one format to another, I will get support for all formats.

mf35 commented 3 years ago

You meant "transcode" not "convert" right ?

fupdec commented 3 years ago

I am not good at terminology. But I think it includes a conversion phase.

mf35 commented 3 years ago

But are you talking about an external tool to convert video files to other video files ? Or do you mean a way to directly play HEVC videos in the player ?

fupdec commented 3 years ago

Oh no. Of course this will happen inside the application and on the fly. This should be done so that users do not even realize that their files are being converted during playback. I haven’t gone into the technical part yet, but I suppose that I will need to take a piece of video, convert it and save it in memory. And it will be like streaming a file from memory.

mf35 commented 3 years ago

Ok, it looks like a real challenge :)

ghost commented 3 years ago

Handbrake on my well specced laptop is still a lengthy, CPU intensive, process that would limit the chance that this could work "on-the-fly". Maybe a better option would be to have a "convert" tab. In this tab is a list of all videos with a non-native format (wmv, avi, etc). In that is the option to batch convert (with a time estimate) with further options to delete the original and reassign the database entry to the new file.

This would be a MASSIVE value add whilst not generating disappointment in your user base.

I know that Handbrake is freeware, never looked to see if it is open source.

ghost commented 3 years ago

...and it is :)

https://handbrake.fr/

https://github.com/HandBrake/HandBrake

ghost commented 3 years ago

If you got this to work maybe a context menu option for file by file conversion?

ghost commented 3 years ago

You are VERY right with the "complex feature" tag. Handbrake being open source should allow this to be significantly easier.

fupdec commented 3 years ago

Handbrake uses the same library as me - FFMPEG. To convert video to another format, I do not need the code of this program. It's actually easy to implement. This may be a temporary solution until I do the transcoding. I read a bit about overusing the CPU when converting. Most likely ffmpeg uses all processor threads. There should be commands that limit the number of threads. The problem for me is that I do not use ffmpeg directly, but through the fluent-ffmpeg library. What is the layer between node.js and ffmpeg.