Live data from Hacker News

FFmpeg 6.0

ffmpeg.org

21–30 of 210 posts

Re: FFmpeg 6.0

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

I wouldn't call myself a power user by any means, but for many parts, the documentation is quite thorough, and if you're wrestling with some specific filter long enough, you might even begin to understand some of the magic incantation required to get it to work.

It's helpful to have some background in media container formats, compression algorithms, sound formats, and all the jargon and acronyms associated with the above. Easy!

Re: FFmpeg 6.0

#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 beginning of the year, with ABI and API break, minor releases during the year and an LTS every other year…

Re: FFmpeg 6.0

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

I know a lot of people look down on ChatGpt. But I have been using it for creating scripts to use with ffmpeg and I was able to get most of the things that I needed with very little massaging required. You can then ask ChatGpt about what it did and why so it will explain it as well so you can get some basic understanding on how things work. People don't realise what kind of tool Chat Gpt is and how to properly utilise it but it can be very useful for stuff like this.

Re: FFmpeg 6.0

#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

Re: FFmpeg 6.0

#25
post #2

Changelog: * Radiance HDR image support * ddagrab (Desktop Duplication) video capture filter * ffmpeg -shortest_buf_duration option * ffmpeg now requires threading to be built * ffmpeg now runs every muxer in a separate thread * Add new mode to cropdetect filter to detect crop-area based on motion vectors and edges * VAAPI decoding and encoding for 10/12bit 422, 10/12bit 444 HEVC and VP9 * WBMP (Wireless Application…

This mostly looks like they're adding support for new codecs, there's only 4 new options in there, which seems rather paltry for a dot zero version release. Should we consider ffmpeg feature complete?

Re: FFmpeg 6.0

#26

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…

To save anyone else the Google search:

> Decoding Time Stamp (DTS) and Presentation Time Stamp (PTS)

Snswered on Stack Overflow by slhck who linked to this tutorial:

http://dranger.com/ffmpeg/tutorial05.html

( https://stackoverflow.com/questions/6044330/ffmpeg-c-what-ar... )

Re: FFmpeg 6.0

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

I’ve never had to directly use ffmpeg. What do you do that makes it so useful to you? Something in video production?

Re: FFmpeg 6.0

#28
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 framerate to 30 frames per second.
  - `video_size 640x480`: sets the video resolution to 640x480 pixels. You can adjust this to your desired resolution.
  - `i /dev/video0``: specifies the input device to use, which is typically /dev/video0 for the first connected webcam. If you have multiple webcams, you may need to adjust this to the appropriate device.
  - `c:v libx264``: sets the video codec to use, which is H.264 in this case.
  - `preset veryfast``: sets the encoding speed preset to "veryfast", which is a good balance between speed and quality.
  - `crf 28`: sets the video quality using the Constant Rate Factor (CRF) method, with a value of 28. Lower values mean higher quality and larger file sizes, while higher values mean lower quality and smaller file sizes. You can adjust this to your desired quality/file size.
  - `pix_fmt yuv420p``: sets the pixel format to YUV 4:2:0, which is a commonly used format for H.264 video.
  - `output.mp4`: specifies the output file name and format.
Never used the `crf` or `pix_fmt` flags personally, but seems correct (the issue with ChatGPT).

Re: FFmpeg 6.0

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

[deleted]
Post reply on HN