Live data from Hacker News

FFMPEG from Zero to Hero

ffmpegfromzerotohero.com

131–140 of 140 posts

Re: FFMPEG from Zero to Hero

#131
post #33

Earlier quoted context omitted.

It's true, and I feel the same, but to give it some credit: wouldn't that apply to anything you don't use regularly? Programming languages or even regular languages. You have to use it or lose it.

If you don't perform a task frequently, a discoverable interface (e.g. GUI) is dramatically more productive than reading documentation.

This really depends a lot on the quality of the GUI and the documentation.

IMO the best option is the best of both worlds. A GUI that outputs the CLI command along with good documentation would be ideal.

Re: FFMPEG from Zero to Hero

#132

One of the interesting things you can do with ffmpeg, if you have a LOT of scratch disk space, and you're trying to compare subjective encoder quality (not VMAF, but human eyeballs) on a certain video file: 1) take your raw uncompressed y4m file and write it out to a directory of PNG files, one png file per frame. this is your static image reference baseline for subjective eyeballs. 2) take your raw uncompressed y4m…

Thing is, x264/265 are explicit designed to provide better subjective quality in moving images. For example, x264 will “allocate” more data to parts of the image that change less, as those remain on screen longer so artifacts on them are more visible. While fast moving parts can be compressed into a blurry blocky haze as they appear for maybe 20 frames so few people will really notice artifacts. (Of course the actual…

That's indeed true - and why for subjective eyeball moving picture tests you should also do things like cut out a 20 second piece of a raw/y4m file, encode it with various x265 settings, and then put those 4 or 5 pieces in a VLC playlist so you can quickly compare them in series.

For objective comparisons there is of course VMAF, which is an essential tool for doing automated comparisons of videos vs their uncompressed original. One of the reasons why VMAF was created is that subjective eyeball evaluation of codecs (whether still or moving) will vary between person to person, and is very labor intensive.

But still image PNGs of frames also serve a useful purpose when dealing with lower bitrate videos, for your personal opinion comparison of blockiness, color banding, blobs of color in areas that are mostly the same color, etc.

Re: FFMPEG from Zero to Hero

#133

Earlier quoted context omitted.

Please elaborate, is this a work or hobby project, which space craft?

I'm not OP, but I suspect it is weather sat imagery: you can use SDR to receive images captured by NOAAA weather satellites[1] 1. https://www.rtl-sdr.com/rtl-sdr-tutorial-receiving-noaa-weat...

[deleted]

Re: FFMPEG from Zero to Hero

#134
post #7

Earlier quoted context omitted.

I just had to tangle with ffmpeg to stream some video from a spacecraft. I’m genuinely undecided as to which end of that problem was the more complicated one.

Please elaborate, is this a work or hobby project, which space craft?

[deleted]

Re: FFMPEG from Zero to Hero

#135

Earlier quoted context omitted.

Is there any book you’d recommend for scripting vfx/media pipelines using tools like ffmpeg , imagemagick , etc ?

I don’t know of any book like that. I have a CinemaDNG processing workflow: create a camera/lens profile using a ColorChecker and DCamProf, batch develop DNGs using RawTherapee into 16-bit TIFFs, export TIFF sequence as a movie using DaVinci Resolve (30 FPS if delivering to popular services like Instagram, where 24 FPS causes subtle stuttering). I’ve been meaning to script this all, Resolve can be easily replaced wit…

Ah gotcha ,

Thanks for the reply !

Re: FFMPEG from Zero to Hero

#136

One of the interesting things you can do with ffmpeg, if you have a LOT of scratch disk space, and you're trying to compare subjective encoder quality (not VMAF, but human eyeballs) on a certain video file: 1) take your raw uncompressed y4m file and write it out to a directory of PNG files, one png file per frame. this is your static image reference baseline for subjective eyeballs. 2) take your raw uncompressed y4m…

Theoretically, when comparing frames, frame type (I/P/B) should be considered and it's better to compare same frame type. How do you treat about frame types?

Re: FFMPEG from Zero to Hero

#137

Something weird (IMO) about ffmpeg is that it doesn't do hardware-accelerated encoding or decoding by default unless you compile it with support and pass it some extra command line flags. If you are using ffmpeg with hardware-accelerated codecs like H.264, remember to take the free 10x speed boost!

Some of them depends on proprietary SDK.

Re: FFMPEG from Zero to Hero

#138
post #126

Earlier quoted context omitted.

> I have to relearn it every time I want to engage with it That's my relation with regex.

I’ve heard this a few times. I’m the opposite, I think I learned it once and never forgot it, it seems impossible. Do you understand regex in terms of a state machine? Draw it out. It’s a very simple language.

Its the syntax, not the idea that I forget. I use it rarely which is why I have to relearn from some cheat sheet what each symbol means.

Re: FFMPEG from Zero to Hero

#139
post #32
post #26

After seeing some posts here on HN about FFMPEG I tried looking into green-screen joining two Twitch streams together. Sometimes a streamer wants to overlay his stream with a tournament channel, but because of copyright they can't. It'd be nice to have an easy way to set that up, if twitch won't do it on their end the user can do it themselves

Can OBS not do that? I haven't used it much but I have had some success merging video streams from different sources without a lot of effort.

I haven't used OBS, but OBS is more a "producer" app, not very consumer oriented, so it mught be a pain to setup it you just want to layer to independent streams at once for a one time thing

I think that a process of clicking a link (meshstreams.io/streamer1,streamer2) would let you download a script that would install FFMPEG and open both streams in VLC

Re: FFMPEG from Zero to Hero

#140
post #130

I'm really interested in learning how to fix bad files that have been recorded from a live RTP (or WebRTC) stream. These files tend to have gaps in their PTS or DTS, caused by UDP packet loss when the streaming took place. There are a myriad of StackOverflow questions, mailing lists, forums... but never a well structured and comprehensive analysis of this topic. And FFmpeg itself, while being a feat of a software pro…

It does not, unfortunately. Those flags or even the `setpts` filter are not even mentioned once in the whole book.
Post reply on HN