FFmpeg 4.0 Released

Did anyone else see the FFmpeg 4.0 release happen? http://ffmpeg.org/index.html#pr4.0
I wonder how long till we see MLT/shotcut move to it(and how much it might benefit us, I see some performance improvements in there potentially)

I tested it in Linux and it worked for me. So I submitted a pull request:


I can’t think of a reason it wouldn’t be in the next release.

it looks like it adds some quick sync video encoding support, I can’t wait to see what that translates to on some micro pcs for export times.

ffmpeg has grievous video artifacts. I hope some of them have been mitigated.

As I write this, Zeranoe (which has pre-built binaries of ffmpeg) is still on v 3.4.2 (build date 2018-04-21).

What potential improvements do you see?

so I’ve looked at it a few times and I’m still not 100% sure what Zeranoe is

Zeranoe is a web site which offers pre-built executables of ffmpeg for Windows.

ok, that’s kind of what I had guessed, and as to the potential improvements , the release notes are below, I’ve bolded the ones I think will impact either performance or add additional format support at a glance.

Bitstream filters for editing metadata in H.264, HEVC and MPEG-2 streams
Experimental MagicYUV encoder
TiVo ty/ty+ demuxer
Intel QSV-accelerated MJPEG encoding
native aptX and aptX HD encoder and decoder
NVIDIA NVDEC-accelerated H.264, HEVC, MJPEG, MPEG-1/2/4, VC1, VP8/9 hwaccel decoding
Intel QSV-accelerated overlay filter
mcompand audio filter
acontrast audio filter
OpenCL overlay filter
video mix filter
video normalize filter
audio lv2 wrapper filter
VAAPI MJPEG and VP8 decoding
AMD AMF H.264 and HEVC encoders
video fillborders filter
video setrange filter
support LibreSSL (via libtls)
Dropped support for building for Windows XP. The minimum supported Windows version is Windows Vista.
deconvolve video filter
entropy video filter
hilbert audio filter source
aiir audio filter
Removed the ffserver program
Removed the ffmenc and ffmdec muxer and demuxer
VideoToolbox HEVC encoder and hwaccel
VAAPI-accelerated ProcAmp (color balance), denoise and sharpness filters
Add android_camera indev
codec2 en/decoding via libcodec2
native SBC encoder and decoder
drmeter audio filter
hapqa_extract bitstream filter
filter_units bitstream filter
AV1 Support through libaom
E-AC-3 dependent frames support
bitstream filter for extracting E-AC-3 core
Haivision SRT protocol via libsrt
vfrdet filter

I’m also not sure what “Add android_camera indev” implies other than some android based utilities might see less requirement of custom libraries, sidenote @brian has anyone ever looked into a mobile version of shotcut? Just curious if you’ve ever contemplated it and estimated the difficulty in undertaking such an endeavor

Not that I know of.

Damn, I was just thinking it would be slick on an android tablet, probably nearly impossible to do easily i’m sure.

I imagine it would be a bit difficult considering processor speeds on androids vs computers wouldn’t measure well.

But FFmpeg 4.0 looks pretty cool, can’t wait for that to be added. :smiley:

On the cheap ones i’m sure, it’s a shame tablets got basically slaughtered by 2 in 1 convertibles(I say this as an owner of a thinkpad yoga)

I would be particularly interested in GPU accelerated H264 decoding in shotcut or mlt. I’m already sometimes using GPU based encoding in intermediate steps, and CPU based encoding for the final render. GPU based decoding could probably make more CPU available for encoding, that would be pretty neat. Any ideas or news on this?

FFmpeg4.0 was upgraded with 18.06 https://shotcut.org/blog/new-release-1806/
Current version is 18.07 https://shotcut.org/blog/new-release-1807/

Hello,

thanks for the reply. I know that ffmpeg 4.0 is now integrated, however I don’t think that GPU decoding is something that happens automagically. In ffmpeg itself, I have to do “-hwaccel …” with some value for “…”, e.g. “nvdec” to enable acceleration, see also https://trac.ffmpeg.org/wiki/HWAccelIntro. Also, only then, nvidia-settings under Linux shows activity for “Video Engine Utilization” – But please correct me if I’m wrong.

So my question still is whether GPU decoding is possible in MLT. That said, I noticed that at least nvdec does not support YUV444 colors which I usually use, that’s a pity. But if acceleration would make things much better, I may reconsider this decision.

No. There used to be support for VDPAU; but that code became out-of-date, was Linux and NVIDIA only, and was less stable on an already difficult to stabilize codebase. So, it was dropped. One big problem with GPU decoding is managing the limited GPU/hwaccel decoding resources (per implementation and H/W configuration) in a multitrack scenario.