Live data from Hacker News

FFmpeg 6.0

ffmpeg.org

11–20 of 210 posts

Re: FFmpeg 6.0

#11
post #5

What's the story with VAAPI AV1 encoding? Does it exist anywhere or not yet?

- VAAPI decoding and encoding for 10/12bit 422, 10/12bit 444 HEVC and VP9

Re: FFmpeg 6.0

#12
post #11
post #5

What's the story with VAAPI AV1 encoding? Does it exist anywhere or not yet?

- VAAPI decoding and encoding for 10/12bit 422, 10/12bit 444 HEVC and VP9

That's been there for a while. AV1 decoding also exists. But I'm curious what's going on with AV1 encoding.

Re: FFmpeg 6.0

#13
post #10
post #8

Earlier quoted context omitted.

Google must be using it for Youtube. Wikimedia is using it as well.

I believe it is embedded in Chromium as well.

Firefox bundles it as well I think (at least Linux version).

Re: FFmpeg 6.0

#14
post #6

Fun fact of the day: ffmpeg is written by Fabrice Bellard, who among other impressive things, wrote the JS PC emulator capable of running windows 2000 in a browser over 10 years ago that got me fascinated with emulators in general. https://bellard.org/jslinux/tech.html

He also wrote QEMU, which is probably far more impressive.

https://smartbear.com/blog/fabrice-bellard-portrait-of-a-sup...

Re: FFmpeg 6.0

#15
post #6

Fun fact of the day: ffmpeg is written by Fabrice Bellard, who among other impressive things, wrote the JS PC emulator capable of running windows 2000 in a browser over 10 years ago that got me fascinated with emulators in general. https://bellard.org/jslinux/tech.html

Fabrice has not been involved in ffmpeg for well over 15 years now.

Re: FFmpeg 6.0

#16
I absolutely love ffmpeg, but for the life of me I cannot understand how its pipeline system works.

Each time I need to use it, I attempt to construct the command myself, but end up giving up and consulting StackOverflow. Amazingly, someone has usually done the exact thing I need to do and posted their command line to StackOverflow, so I'm never out of luck!

How do I actually start understanding how ffmpeg works? I want to be an ffmpeg power user.

Re: FFmpeg 6.0

#17
post #16

I absolutely love ffmpeg, but for the life of me I cannot understand how its pipeline system works. Each time I need to use it, I attempt to construct the command myself, but end up giving up and consulting StackOverflow. Amazingly, someone has usually done the exact thing I need to do and posted their command line to StackOverflow, so I'm never out of luck! How do I actually start understanding how ffmpeg works? I w…

This. And imagemagick.

Re: FFmpeg 6.0

#18
post #16

I absolutely love ffmpeg, but for the life of me I cannot understand how its pipeline system works. Each time I need to use it, I attempt to construct the command myself, but end up giving up and consulting StackOverflow. Amazingly, someone has usually done the exact thing I need to do and posted their command line to StackOverflow, so I'm never out of luck! How do I actually start understanding how ffmpeg works? I w…

The ordering of the arguments changes behavior, I don't think that's a good thing or desired outcome, at most it's a bug_feature.

It tend to happen when big project rolls out batteries itself, in this case command line parsing.

Re: FFmpeg 6.0

#19
From the changelog [1]:

> - DTS to PTS reorder bsf

Interesting, I wonder what this is / why you'd want it. In particular, when you have the DTS but not the PTS.

The recent gstreamer 1.22 release [2] had what I read as the opposite—calculate a plausible DTS from the order and PTS. They did a nice job of explaining why it's useful. AFAICT, this approach is the only viable way to get B frames to work properly from a received RTP stream.

> H.264/H.265 timestamp correction elements ... Muxers are often picky and need proper PTS/DTS timestamps set on the input buffers, but that can be a problem if the encoded input media stream comes from a source that doesn't provide proper signalling of DTS, such as is often the case for RTP, RTSP and WebRTC streams or Matroska container files. Theoretically parsers should be able to fix this up, but it would probably require fairly invasive changes in the parsers, so two new elements h264timestamper and h265timestamper bridge the gap in the meantime and can reconstruct missing PTS/DTS.

Looks like the ffmpeg thing is dts2pts_bsf.c. [3] I haven't really read the implementation, but I was hoping the comment at the top would illuminate things, but "Derive PTS by reordering DTS from supported streams" isn't enough for me.

[1] https://git.ffmpeg.org/gitweb/ffmpeg.git/blob/refs/heads/rel...

[2] https://gstreamer.freedesktop.org/releases/1.22/

[3] https://git.ffmpeg.org/gitweb/ffmpeg.git/blob/refs/heads/rel...

Post reply on HN