We need ffmpeg to do some video processing, like video format conversion, live stream snapshot..., we won't go deep in ffmpeg.
Now I am wondering what would be the better way to use ffmpeg, we are developping in Golang, either we call ffmpeg like shell command line, or we use libav* library of ffmpeg.
command line:
Pros:
easy to use, reliable (I got a quality loss problem with library mode), many tutorials
Cons:
the is is a separate process, out of our control, we can't get detailed information of the process, like the video conversion progressing data
the command line way seems not so cool, this is not well integrated in the whole project.
libav* library:
Pros:
we can have the process detailed data, progressing status....
...
Cons:
difficult to use, much less materials
Could anyone give your idea which is the better way to use ffmpeg?
Before this question, I have asked another two questions:
One is regarding calling libav* library caused the qulity loss problem:
Why calling libav* library doesn't have same quality as ffmpeg command line?
One is for command line progressing status retrieving problem:
How to get the realtime output for a shell command in golang?