Live data from Hacker News

FFmpeg 6.0

ffmpeg.org

31–40 of 210 posts

Re: FFmpeg 6.0

#31
ffmpeg is my go-to re-encoder. I didn't know ffprobe existed until I read some "howto" and its also increadibly useful as a way to get fundamental video and audio stream data out as e.g. csv or json.

So I can run an ffprobe script to get x,y info out, decide if the video needs re-encoding, pass to an ffmpeg call which does fast or veryfast settings to reset the x/y scale (for instance)

It's also unquestionably 'self documenting' because all of the sheharazade 1001 options are listed in --help. The problem is knowing which one will make the horse speak.

Re: FFmpeg 6.0

#32
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…

Have you tried https://handbrake.fr/?

Re: FFmpeg 6.0

#33
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…

Check out https://ffmpeg.guide/ (https://news.ycombinator.com/item?id=33383023)

See also https://img.ly/blog/ultimate-guide-to-ffmpeg/ (https://news.ycombinator.com/item?id=33771445)

Re: FFmpeg 6.0

#34
post #22

If you want to know a bit more about what is important in this major release, you can watch my presentation about FFmpeg 6.0 at Fosdem: https://fosdem.org/2023/schedule/event/om_vlc/ (Video + Slides) It’s a bit less dry than the changelog, notably for the evolutions of the APIs. What’s also important is the changes about the release schedule that we’ve been pushing with the community. Major version every year at the…

Thank you for doing this talk. I agree with you, news about ffmpeg progress should be more widespread. And by the way, I love your hat!

Re: FFmpeg 6.0

#35
post #7

I love software that just does what it’s supposed to do and is so good at it that it’s an underpinning for other projects. FFmpeg, curl, nmap, et., al.

It is such a swiss knife kind of tool, there's just almost nothing it can't do when it comes to video, audio and image modifications. I wonder how many big companies uses it "in secret" that we don't know off, or distributes it with mentions buried deep underneath usage agreement.

I can tell you it’s heavily used in professional settings within the entertainment industry. There is no better tool, thankfully!

Re: FFmpeg 6.0

#36
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…

Use ChatGPT, prompt: ffmpeg pipeline capture webcam to mp4 ChatGPT: >>> ffmpeg -f v4l2 -framerate 30 -video_size 640x480 -i /dev/video0 -c:v libx264 -preset veryfast -crf 28 -pix_fmt yuv420p output.mp4 Here's a brief explanation of what each part of the command does: - `f v4l2`: specifies that the input device is a V4L2 (Video for Linux 2) device, which is typically what webcams use. - `framerate 30`: sets the framer…

You need `-pix_fmt yuv420p` for an iPhone to recognize a ffmpeg-encoded video file.

Re: FFmpeg 6.0

#37
post #24

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 rec…

This bsf was done to fix the following ticket https://trac.ffmpeg.org/ticket/502

Thanks. Looks like the input in question was an .avi file. That's a container format I don't know anything about (and don't particularly care to). I suspect then it's not relevant for anything more modern.

Re: FFmpeg 6.0

#38
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…

Even given an option it can be difficult to find the corresponding documentation, if only because of the many different submodules and encoders and decoders and filters that have oh-so-slightly different options. That said, I've just switched from pydub to ffmpeg-python (due to memory issues of the former[1]) and judging from the Jupyter notebook[2] it seems a much more intuitive method of constructing ffmpeg pipelines.

[1] https://github.com/jiaaro/pydub/issues/135

[2] https://github.com/kkroening/ffmpeg-python/tree/master/examp...

Re: FFmpeg 6.0

#39
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.

The ffmpeg cli supports multiple inputs and multiple outputs, so there needs to be a way to unambiguously map an option to its target. Position is looked at, to group options for the same target together.

Re: FFmpeg 6.0

#40
post #8
post #7

Earlier quoted context omitted.

It is such a swiss knife kind of tool, there's just almost nothing it can't do when it comes to video, audio and image modifications. I wonder how many big companies uses it "in secret" that we don't know off, or distributes it with mentions buried deep underneath usage agreement.

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

They do, they say so here: https://support.google.com/youtube/answer/1722171#zippy=%2Cc...

> YouTube does not recommend the RGB color matrix on uploads. In this case, YouTube initially sets the color matrix to unspecified before the standardization. It will then infer the color matrix using the color primaries during standardization. Note that sRGB TRC will convert to BT.709 TRC. YouTube re-tags the color primaries/matrix/TRC to BT.709 when it is not supported by FFmpeg colorspace conversion filter.

Since FFmpeg is gpl2.1 I thought they had to make it easier to know they're using this, like under a "licenses" section, but I don't see anything under studio.youtube.com indicating this.

Post reply on HN