Interview with FFMPEG enthusiast

Sdílet
Vložit
  • čas přidán 15. 10. 2022
  • Merch: posix.store
    You can reuse this video freely. Don't contact to ask for permission. It's free to use for your demo reel, music video, tax credit application etc. Reuse allowed free of credit.
    FFMPEG Interview with an FFMPEG enthusiast in 2022 with Fred Murpheg - aired on © 2022 The FFMPEG.
    converting videos easily
    computer graphics humor
    video conversion humor
    adobe humor
    adobe media encoder slow
    after effects not rendering multithreaded
    yuv color codec
    deinterlace artefacts
    yadif deinterlace
    eia 608
    Programmer humor
    Computer Science Slender
    Programming memes
    FFMPEG 2022
    linux enthusiast
    luke smith
    vim
    #programming
    #humor
    #ffmpeg

Komentáře • 1K

  • @programmersarealsohuman5909

    An FFmpeg GUI - ffmpeg.guide has been released by zack overflow a few days ago. It is now possible to petition to make it free and open-source software bit.ly/3T3Cjpa

    • @Cyberfoxxy
      @Cyberfoxxy Před rokem +24

      why the hell would he?

    • @lukaszbusko
      @lukaszbusko Před rokem

      what is the keyboard and touchpad for it?

    • @NewHandleWhoDeez
      @NewHandleWhoDeez Před rokem +39

      I don't think trying to peer pressure someone into making their software FOSS is a good way to go about when they already have a free version available
      ..kind of a dick move, actually

    • @volchonokilliR
      @volchonokilliR Před rokem +19

      @@NewHandleWhoDeez I think that everyone has the right to go FOSS or not, but also I don't think it's worded as pressuring. Seems more like a "please consider this if it's possible"

    • @MrLordFireDragon
      @MrLordFireDragon Před rokem +5

      While I think the first reply is pretty rude, what is the actual reason for this? Other than free things are nice? Especially since it has a free version (though I don't know how crucial the quantity of nodes is in the software)?

  • @igorordecha
    @igorordecha Před rokem +3389

    You know that FFMPEG supports h265 hardware accelerated encoding with Radeon cards on Linux? I mean I couldn't get it to work but FFMPEG supports it.

    • @sn5806
      @sn5806 Před rokem +62

      lol

    • @gg-gn3re
      @gg-gn3re Před rokem +42

      OBS makes it work for you :^)

    • @onegabriel5823
      @onegabriel5823 Před rokem +72

      You might need the proprietary AMD Linux drivers for that to work.

    • @valk_real
      @valk_real Před rokem +43

      @@onegabriel5823 Ah yes but you also need to wait until the proprietary driver supports the graphics card else just build the drivers from source

    • @igorordecha
      @igorordecha Před rokem +18

      @@onegabriel5823 I obviously tried that maaaaaany times, both for ffmpeg transcoding and davinci resolve. I managed to run ffmpeg with hardware acceleration once and it produced unplayable garbage iirc.
      The latter worked for me 2 times, but gaming on that proprietary driver sucked. I tried installing the proprietary one on top of the oss one and switching to it when necessary. People say it's possible but ofc it didn't work for me.
      I gave up. If I need to transcode or edit a video or run some legacy business program from like 2006 once or twice a year I always have a spare ssd with windows on it.

  • @jasonalward
    @jasonalward Před rokem +958

    “Create a non playable file? No problem.” So accurate.

    • @jeromeglick
      @jeromeglick Před 9 měsíci +7

      So I'm not the only one who creates non-openable files just because it's a prerequisite to guru status.

    • @petros_adamopoulos
      @petros_adamopoulos Před 9 měsíci +6

      Better than files that are playable but with unobvious artifacts.

    • @TheUmopepisdn
      @TheUmopepisdn Před 6 měsíci +6

      "Here are three ways to do it in FFMPEG. One of them should work."

    • @kreuner11
      @kreuner11 Před 6 měsíci

      You have to change the pix_fmt to yuv420p or it won't play in VLC

    • @ruanpingshan
      @ruanpingshan Před 6 měsíci +1

      In my project, a lot of the mp4's generated using FFMPEG don't open in any media player, but they work fine in Shotcut (a video editor).

  • @altpudding4776
    @altpudding4776 Před rokem +3066

    the amount of artifacts in this video is very accurate

    • @Ryan-xq3kl
      @Ryan-xq3kl Před rokem +119

      its only artifacting because he used the wrong codec

    • @3s0t3r1c
      @3s0t3r1c Před rokem +82

      @@Ryan-xq3kl And the wrong graphic card, and operating system, and drivers.

    • @jonaskoelker
      @jonaskoelker Před rokem +17

      This video has more artifacts than the Mirrodin block of Magic: the Gathering

    • @WolfireGaming
      @WolfireGaming Před rokem +12

      @@gg-gn3re Guys we found it, a real FFMPEG enthusiast in the wild!

    • @gg-gn3re
      @gg-gn3re Před rokem +6

      @@WolfireGaming there are no sites with video on the internet that aren't using it :^)

  • @tomharrison3453
    @tomharrison3453 Před rokem +1148

    I don't think people are equipped with the proper codec to appreciate the subtle genius of the editing here.

    • @ragnarmarnikulasson3626
      @ragnarmarnikulasson3626 Před rokem +37

      and did you know he did the editing in ffmpeg?

    • @apotato4873
      @apotato4873 Před rokem +32

      @@ragnarmarnikulasson3626 "I edited a whole documentary in FFMPEG."

    • @pauldwalker
      @pauldwalker Před 9 měsíci +15

      you only have to run ffmpeg from the command line after hours of study to fully appreciate this video.

    • @yt-1337
      @yt-1337 Před 5 měsíci +1

      @@pauldwalker so true

  • @remiesmith7027
    @remiesmith7027 Před rokem +408

    "All of this? Just one command - Oh there was an issue in the..."
    I died. Too true.

    • @mage3690
      @mage3690 Před 7 měsíci

      Damn. Sounds like you need to write that thing into a shell file exclusively so you can use vim (or the mouse, blasphemy) to navigate around the file and edit mistakes.

  • @headmetwall
    @headmetwall Před rokem +902

    5:01 - "At the end of the day you will probably just need one command, over and over, and that one you will get from stack overflow without understanding ffmpeg." Summed up my initial experience with 90% of terminal apps.

    • @marshallsweatherhiking1820
      @marshallsweatherhiking1820 Před rokem +90

      I have a hundred “example” commands saved in a text file. If I ever lose it I will blow my brains out.

    • @Ebani
      @Ebani Před rokem +3

      @@marshallsweatherhiking1820 Me too but i have mastered most of them already as well as using the help command, that one is miles better as you cannot see all of an encoder/decoder features otherwise, docs lack a lot of important information and specially such info.

    • @ryuugureen4969
      @ryuugureen4969 Před rokem +4

      @@marshallsweatherhiking1820 I do the same but with the copy paste history tool.

    • @monad_tcp
      @monad_tcp Před rokem +4

      I can't use FFMpeg, I use VLC and let it deal with FFMpeg for me

    • @marshallsweatherhiking1820
      @marshallsweatherhiking1820 Před rokem +18

      @@Ebani I always feel like even help command only tells you everything except the thing you actually want to do. There’s usually a way, but its somewhere google finds on stack overflow or reddit.

  • @chromosome24
    @chromosome24 Před rokem +68

    Frantically scrolling through miles of docs while muttering "okaaay okaaay okaaay" in hopes of willing yourself to understand without actually comprehending a single word.

    • @SreenikethanI
      @SreenikethanI Před 5 měsíci +2

      this is getting too relatable ... my head hurts now

  • @theaninova
    @theaninova Před rokem +1214

    "2022, we have flying cars, we have gifs, and we still don't have transparency"
    As someone who does motion graphics, I feel this so hard. Either practically uncompressed mov, or webm with mediocre support everywhere.

    • @FunctionGermany
      @FunctionGermany Před rokem +12

      and mediocre playback performance where this would actually be super useful, like OBS Studio
      (maybe they've fixed webm stinger playback performance by now idk)

    • @marceelino
      @marceelino Před rokem +6

      who is using mov? i don't think i ever seen a filename like that.

    • @letsgoooo361
      @letsgoooo361 Před rokem +10

      webm a good support now babe

    • @tacokoneko
      @tacokoneko Před rokem +22

      @@marceelino apple zombies

    • @johndev8654
      @johndev8654 Před rokem +8

      Same problem here.
      Tried Apple ProRes 4444 yet?

  • @ceruleanserpent387
    @ceruleanserpent387 Před rokem +160

    three ways to do it, one of them should work

  • @evrimagaci
    @evrimagaci Před rokem +712

    "I know the website looks like a scam" No kidding. :D

    • @lolerie
      @lolerie Před rokem +13

      I use wikipedia links, so no scam possible. /big brain

    • @nextbreeze7974
      @nextbreeze7974 Před rokem +6

      7zip de aynı sorundan muzdarip :)

    • @DR_1_1
      @DR_1_1 Před 7 měsíci +1

      I had to download a mmpeg.exe file from an obscure website just 2 days ago in addition to Python libraries... still didn't work properly, just gets stuck in some loop wihtout any debugging info.

    • @TheTurkjojuq
      @TheTurkjojuq Před 7 měsíci +2

      Oha evrim agaci :o

    • @esertekin9727
      @esertekin9727 Před 6 měsíci

      Ho-hocam?

  • @sn5806
    @sn5806 Před rokem +171

    The distortion at 0:19 is perfect.

    • @Shivasyn13
      @Shivasyn13 Před rokem +9

      Damn, I am 3d rendering in background and thought I need more power to my pc and the distortion is my pcs fault.

    • @BlackStoneDiamond
      @BlackStoneDiamond Před rokem +5

      Actually curious. How is this kind of distortion called?

    • @animanaut
      @animanaut Před rokem +14

      not sure what the name is, but you basically delete the keyframe on a scene change and the following incremental frame changes are applied on top of the old scene

    • @animanaut
      @animanaut Před rokem +5

      there is this thing called glitch art where they try to replicate encoding glitches for artistic effect

    • @098Prototype
      @098Prototype Před rokem +16

      @@BlackStoneDiamond Look into "datamoshing"

  • @SupaKoopaTroopa64
    @SupaKoopaTroopa64 Před rokem +422

    As an ffmpeg enthusiast, I can confirm that this is accurate. There are just two things I would add:
    >Some joke about how 90% of the documentation is only useful if you already know how to use the feature being documented
    >This cool new feature can only be enabled at compile time, I know what I'm doing today! Wait, never mind, I can't get the correct library versions I need compile this on Debian. :(

    • @lolerie
      @lolerie Před rokem +38

      And other 10% is just not in documentation, only inside help of ffmpeg itself or in source code

    • @SupaKoopaTroopa64
      @SupaKoopaTroopa64 Před 9 měsíci

      @@hanskrieger4299 Just had to wget a .deb file from the unstable repository yesterday, because the version shipped with Bookworm had a bug that broke an ffmpeg-based program :(

    • @petros_adamopoulos
      @petros_adamopoulos Před 9 měsíci +17

      It's too complex and quirky for the documentation to be of help when you are casually using it. What's most needed are concrete examples, with remarks on limitations etc.
      I'm grateful to ffmpeg for the simple things I can do with it, that wouldn't be possible with commercial tools.

    • @hivemind8817
      @hivemind8817 Před 8 měsíci

      Honestly chatgpt is great at explaining ffmpeg features and how to use it.

    • @maevrik
      @maevrik Před 6 měsíci +4

      Getting it to work is like 5 minutes. Getting everything ready to get it to work is more like a week

  • @deadeye7468
    @deadeye7468 Před rokem +953

    How are you so accurate on every topic

    • @UC5Q-Zcic8tidBuI68Jxf9jQ
      @UC5Q-Zcic8tidBuI68Jxf9jQ Před rokem +56

      I'm genuinely wondering this, too...

    • @DMSBrian24
      @DMSBrian24 Před rokem +100

      A CS-related degree, years of being an IT guy, Linux enthusiast and a programmer that has too much time on their hands, that would be my guess, just like many of us watching presumably xD

    • @mx338
      @mx338 Před rokem +69

      It's really not that hard, you just have to have colleagues in IT, or be in active tech chat rooms, and one dude will provide all the lines needed for the script within less than a week, an hour if you engage with them.

    • @goawqebt6931
      @goawqebt6931 Před rokem +49

      The same way you can tell he is accurate

    • @keifer7813
      @keifer7813 Před rokem +2

      ​@@mx338 Where can I find these so called tech chat rooms. I may be able to learn a lot there

  • @Slm3lkm
    @Slm3lkm Před rokem +14

    how to use FFmpeg (2022 guide):
    1- google what do you want to do
    2- copy paste (don't bother understanding the strange numbers)
    3- Done (50% playable output)

  • @jammin023
    @jammin023 Před rokem +288

    I've been using Unix/Linux CLI for 25+ years, and memorised thousands of commands and their options. ffmpeg was the first one where I had to make a cheat sheet to write down for future reference all the sets of options I need to do common tasks, because I can't possibly remember them. And yes, most of them probably came from StackOverflow.

    • @pulsarglider
      @pulsarglider Před rokem +27

      The openssl command is the same way for me.

    • @TymexComputing
      @TymexComputing Před rokem +3

      Had to make notes about mplayer (mplayerhq HU) but ffmpeg is ok - really :) - you dont even need to know the difference between fast fourier transform and discrete fourier one :) - in case you are not living in a complex world :)

    • @charlieking7600
      @charlieking7600 Před rokem +4

      Could you publish cheatsheet anywhere if haven't done before?

    • @udirt
      @udirt Před 11 měsíci +1

      With mencoder my main skill was jumping to the man page examples fast, and I had kinda memorized where in the list were the useful ones. :-)

    • @Vousie
      @Vousie Před 9 měsíci +3

      I took an alternative approach: Create a bash script with the options I commonly use (and thus with my own options as the arguments).

  • @user-gi5lq2xl4p
    @user-gi5lq2xl4p Před rokem +78

    3:48 "I know the website looks like a scam but it's really not." Gets me every time.

  • @dawoodmorriskaundama9320
    @dawoodmorriskaundama9320 Před rokem +153

    I cant wait to watch 'Senior Engineer at NASA, Rust Expert'

    • @OliverUnderTheMoon
      @OliverUnderTheMoon Před rokem +17

      trait bound not satisfied?
      I love Rust 'cos it's fast and stable
      after boxing my Warp filters I got compile time down to 3 minutes
      try clone, clone, into, try into, into iter
      iterable, vector of type string
      the other string
      string into string
      string FROM string, expect
      macro expansion
      crates and modules facilitate code isolation and reuse
      these Tokio runtime versions are not compatible
      there's a crate for that but its not production ready
      yeah I use lifetimes
      no I don't understand them

    • @marijansmetko6619
      @marijansmetko6619 Před rokem +4

      @@OliverUnderTheMoon
      - oh no i typed vector instead of vec, again
      - .clone().clone() just to be safe that should to it
      - TYPE SAFETY
      - BORROW CHECKER
      - CHECK BORROWS
      - borrows are like references but not rly but they are, and you can either mutate or no
      - unless you use unsafe
      - you shouldnt use unsafe
      - but everybody still does

  • @der.Schtefan
    @der.Schtefan Před rokem +260

    I once went through a terrible time in my life where I did not leave the house or talk to humans for almost a year (before corona). I spent most time recompiling ffmpeg and reading ffmpeg -h full

    • @johnpulawski35
      @johnpulawski35 Před rokem +4

      lol nice

    • @77thTrombone
      @77thTrombone Před 11 měsíci

      Whoa - Stalwart!
      Your eyes afterwards? 🌀 🌀

    • @Vousie
      @Vousie Před 6 měsíci

      I went through a terrible time in my life too where I was totally isolated for months on end... Yes it was during corona and I still haven't recovered.
      But sure, it "saved lives" because they don't care if lots of people die as long as they don't die with covid.

    • @spythere
      @spythere Před 6 měsíci +15

      Still better than becoming full time Discord server moderator.

  • @RogerValor
    @RogerValor Před rokem +154

    I love the encoding errors. Perfect.

    • @phizc
      @phizc Před rokem

      I was watching on the android app, and it have me a whole lot extra dropped frames. I knew some of it was in the video, but to make sure I skipped back a few times. Yup. Dropped frames at different times.
      My guess is the app is going to crash within the hour.

  • @spektrvum
    @spektrvum Před rokem +90

    Window manager enthusiast next, please

    • @unfa00
      @unfa00 Před rokem +20

      The tiling ones, no less?

    • @Ant0ine64
      @Ant0ine64 Před rokem +15

      Oh I just need to recompile dwm

    • @Flackon
      @Flackon Před rokem +3

      ah yes. Window manager. Good product

    • @thorbergson
      @thorbergson Před 4 měsíci

      ​@@unfa00xmonad, obviously, because Haskell

  • @JamesChurchill
    @JamesChurchill Před rokem +26

    "What do you mean the video is not playing in Quicktime" As someone who has had to write code to encapsulate video professionally I FUCKING FELT THAT

  • @thefekete
    @thefekete Před rokem +261

    So accurate🤣 I've been using the same command for 5 years to crop and resize videos... Just keep copying and pasting and changing the filename... Pretty sure it's mostly from SO too🤣🤣

    • @jennychan6165
      @jennychan6165 Před rokem +8

      Same here. I use the same command repeatedly to convert m4a files to mp3

    • @quadstrike
      @quadstrike Před rokem +2

      broo make it a drop in, so you can drag the file onto your script and it runs from there

    • @thefekete
      @thefekete Před rokem +7

      @@quadstrike Nah... Probably wouldn't work anymore and it'd be back to stack overflow... 😋

    • @quadstrike
      @quadstrike Před rokem +1

      @@thefekete I've done drop in for mkv to mp4, it's just a matter of changing the code for referencing the source file to be compatible with dropping in

    • @Ethan_Simon
      @Ethan_Simon Před rokem +2

      I usually just use it for lowering the resolution and reducing the framerate to fit in Discord's file size limit!

  • @theftking
    @theftking Před 6 měsíci +6

    There are three ways of doing it... and one of them should work."

  • @Littlefighter1911
    @Littlefighter1911 Před rokem +97

    "Did you know FFMPEG supports X?
    I haven't found the command yet, but it does support it."
    Never have I heard something so relatable.

  • @katarinareese8505
    @katarinareese8505 Před rokem +85

    This is too real… I worked a two month project using ffmpeg as the backend to a video editor and used like 90% of the commands he jokes about

  • @freightshayker
    @freightshayker Před rokem +44

    getting programmers working together is like herding cats

    • @skald9
      @skald9 Před 4 měsíci +3

      But cat is a cli program and hurd is a kernel...

  • @unperrier5998
    @unperrier5998 Před rokem +145

    At 4:45 for CUDA you also need the right compilation options... and the right kernel config option too.

    • @igorordecha
      @igorordecha Před rokem +58

      And the right graphics card. And the right drivers. And the right OS. And the right amount of luck

    • @davidbakin1953
      @davidbakin1953 Před rokem +52

      Did someone mention right _environment variables_ yet?

    • @unperrier5998
      @unperrier5998 Před rokem +1

      @@davidbakin1953 what env vars are needed to make ffmpeg use nvdec/nvenc?

    • @davidbakin1953
      @davidbakin1953 Před rokem +2

      @@unperrier5998 I was thinking more of compiling with CUDA, which was the original comment

    • @tacokoneko
      @tacokoneko Před rokem +13

      i used to think that but then i realized the correct answer is to throw out all NVIDIA and buy AMD. which is exactly what i did. now when there is a bug i can manually fix it myself and recompile the entire graphics stack, which is so much easier. not possible with NVIDIA

  • @oharaandrew314
    @oharaandrew314 Před rokem +78

    I use ffmpeg fairly often to remux, publish, and segment clips and streams for my job. The key to maintaining good performance for these tasks is to ensure you're not re-encoding the video or audio, which can be done with the -vcodec copy and -acodec copy commands.

    • @paulbrookfield4133
      @paulbrookfield4133 Před rokem +19

      It also saves you from spending time, CPU cycles and electricity on adding generational compression loss to the media

    • @SamTheEnglishTeacher
      @SamTheEnglishTeacher Před rokem

      e.g. ffmpeg -ss 00:01:34 -i $(yt-dlp -f 22 --get-url czcams.com/video/KWJdyJU8av8/video.html) -t 00:00:20 "911 airlines.mp4"

    • @sportscaryungred
      @sportscaryungred Před 10 měsíci +6

      ​@@lawrencedoliveiro9104*yt-dlp

    • @gblargg
      @gblargg Před 10 měsíci +2

      Really, it's like the jpegtran of video. I trim down my dashcam videos losslessly and quickly.

    • @madmax404
      @madmax404 Před 9 měsíci +3

      So much this. It's like magic when your multi-gigabyte files stitch in ten seconds with an NVME.
      I wrote a CLI utility that automatically stitches 4GB files produced by my Fimi drone to a single file, then extended that to work with several other sources of clips along the years because that's such a common problem. Requires only selecting the "first" file then it picks the next files by timestamp or filename rules. Writing this now I maybe should release it 🤔

  • @JustAn0therSoul
    @JustAn0therSoul Před 10 měsíci +14

    0:17 that transition gets me every time 😂

  • @shurgars
    @shurgars Před rokem +34

    Yeah, I we can definitely transcode between these formats REALLY FAST to attain corss platform support. Lets just hope there is a keyframe right at the start, and that no-one skips at any point in the video.

  • @neonraytracer8846
    @neonraytracer8846 Před rokem +378

    Perfect! I've spent so many hours on the docs trying to make videos based on text, and audio, and video files chosen from input. I've learned so much though! For example aac is native to mp4, not mpa, and the h265 is not free to use, even though h264 is. Oh and the flags mean other thing if before inputs, and you can just mix that, so good luck figuring out why your flags won't work!

    • @MOOBBreezy
      @MOOBBreezy Před rokem +7

      What

    • @gg-gn3re
      @gg-gn3re Před rokem +29

      h264 is not free to use.

    • @neonraytracer8846
      @neonraytracer8846 Před rokem +3

      @@gg-gn3re that is correct, I meant to say basically free. And we still agree that it can be used freely as long as its not a paid product, yea? Because then its still free.

    • @gg-gn3re
      @gg-gn3re Před rokem +11

      @@neonraytracer8846 not legally, no. You can use it personally and just don't tell anyone, sure.

    • @neonraytracer8846
      @neonraytracer8846 Před rokem

      @@gg-gn3re yea legally. Just not commercially. That means if you provide the product free of charge, you don't need the license.

  • @parizhskiy
    @parizhskiy Před rokem +33

    This line makes me laugh in almost every video: "I recommend to understand it... not that I do" :)

  • @oM477o
    @oM477o Před rokem +120

    You're not a real ffmpeg enthusiast if you haven't waited all day for it to compile because you forgot to disable tensorflow

    • @monad_tcp
      @monad_tcp Před rokem +28

      Tensorflow can compile in 30 minutes. jump cut to my overly complex linux with stacked LVM running BTRFS for compression and dedup of object files, and CMake-Cache called from Buck files. And 128GB of RAM

    • @millionare5446
      @millionare5446 Před rokem +4

      @@monad_tcp 🤓

    • @cyberninjazero5659
      @cyberninjazero5659 Před 11 měsíci +17

      ​@@millionare5446Bruh you are on a Programmer channel

  • @jopa19991
    @jopa19991 Před 11 měsíci +4

    "CUDA for the win! I mean for the Windows." - this one got me

  • @cowbless
    @cowbless Před 6 měsíci +10

    Well we had our goofs and laughs, but we really love you, FFMPEG

  • @cmc_cs2
    @cmc_cs2 Před 4 měsíci +2

    The greatest part about this video is the thing with apostrophes in filenames and you spend nearly an hour looking for why the fuck it doesnt work. An amazing masterpiece of a video honestly.

  • @nuvotion-live
    @nuvotion-live Před rokem +48

    This is hilarious and so niche I have no programming friends to send it to haha.

    • @Ebani
      @Ebani Před rokem +2

      This has nothing to do with programming tho. This is about encoding/decoding of video.

    • @nuvotion-live
      @nuvotion-live Před rokem +4

      @@Ebani sure it does, I’ve wrote GUI programs to wrap ffmpeg functionality. The library itself is an open source project that hundreds of PROGRAMMERS have committed CODE to! Lol

    • @Ebani
      @Ebani Před rokem

      @@nuvotion-live Well yes, the same could be said for many other software specially open source, that's not FFMPEG tho.

    • @nuvotion-live
      @nuvotion-live Před rokem +3

      @@Ebani Software, code, programming, I don’t see how any of those things are not core to what FFMPEG is. If it’s on a computer it has to do with programming.

    • @Ebani
      @Ebani Před rokem +1

      @@nuvotion-live Which is why you should learn how to separate them bc like you said, it's inherent to it. Which brings us to the starting point, this video isn't about programming, it's about FFMPEG.

  • @agranero6
    @agranero6 Před rokem +8

    FFMPEG saved my life. I needed to interface with a FLIR camera without using its proprietary software (on Linux). I rewrote one open-source kernel module to get it better and suit my needs and I was able to access the IR camera. But the visible light camera on FLIR, I was unable to access from OpenCV (I could see the visible camera on VLC, but OpenCV could not access it) until I put ffmpeg in between to convert the stream. Before this, I had to use ANOTHER visible camera besides the one on FLIR which created a huge parallax.

  • @LiftedStarfish
    @LiftedStarfish Před 9 měsíci +20

    When he mentioned matroska, I was wondering if he was gonna mention the mkvtoolnix suite... And the fact that ffmpeg can't seem to read repeat tags or nested chapters in matroska. It will only read the top level chapters, and it will read the *last* version of that tag at the same level (if you have every actor in the tags, it will show the last one in the list).

  • @ChairmanHehe
    @ChairmanHehe Před rokem +15

    "if fffmpeg doesnt transcode it, is it really a codec?" so true

  • @mariotabali2603
    @mariotabali2603 Před rokem +94

    Dude I use almost every technology you laugh about.

  • @williamregal873
    @williamregal873 Před rokem +72

    I have used ffmpeg once in a nodejs project since the business wanted their ad concatted to videos and I can still relate to half of this stuff😂

  • @Shredder2898
    @Shredder2898 Před rokem +21

    How did you know.... I was just thinking how much I love ffmpeg yesterday

  • @RichardBronosky
    @RichardBronosky Před rokem +21

    I LOVE FFMPEG because I only have to learn how to do something once and I save those options in a shell function forever. I don't have that many different things I need to do to a video.

    • @marshallsweatherhiking1820
      @marshallsweatherhiking1820 Před rokem +1

      I use ffmpeg to lower the quantizer with fades. Of course youtube invariably makes them all blocky and ugly again, but I have my pristine versions saved.

  • @Kid420
    @Kid420 Před rokem +9

    HOW CAN THIS VIDEO BE SO ACCURATE

  • @chromejailer6799
    @chromejailer6799 Před rokem +28

    Great video!
    I've been using MKVToolnix to organize my anime collection, add proper file titles to the episodes, remove the unnecessary dubs/subtitles to save space, or add subtitles to RAWs. I absolutely love it. At some point I had set up my old PS3 once more in order to play some games out of nostalgia and, since it was the only thing connected to the TV, I had this crazy idea of watching anime on my PS3. Most releases didn't, so I turned to FFMPEG to make encodes that work on it. I spent a whole day figuring it out, and when I succesfully made an episode that works it felt super rewarding! I only did a single episode tho since it took forever on my PC. I decided that it was not worth the time to do a full series encode since even a small 12 episode anime would take forever.
    However this experience made me a bit more confident if I need to mess with FFMPEG for an actual important reason. I also enjoyed the process, eventhough it didn't go smooth and I was getting errors at first.

    • @kFY514
      @kFY514 Před rokem

      Have you heard about Handbrake?

    • @Dekaku
      @Dekaku Před rokem +5

      @@kFY514 Handbrake is just a GUI for ffmpeg, which comes with a couple of SO oneliners.
      I also use ffmpeg for my Anime collection. Once I figured out a setting I liked, I just made a bash script to automatically convert every video in a folder, start the script and go to work. Since ffmpeg tells you how fast it is encoding, you can use that to estimate how many episodes you can realistically convert before coming back. I have a separate script for dvd releases that includes Yadif, because I can't be arsed to figure out how to tell ffmpeg that it should honour and propagate the flag used to mark interlaced video. I usually convert from h264 mkv to h264 mkv, which generally speaking cuts down the size of the file by about 85%. I also backup the raws, in case I want to make a comparison with newer codecs later on, like av1 once I get my hands on a card that has an encoder for that in hardware. Really looking forward to that one.

    • @castform57
      @castform57 Před rokem +1

      @@Dekaku I kinda do the same thing. I usually download whole seasons, put them in folders, and then run a script I made to convert them to h265 if they're not already. Everything on a virtualized server with a NAS and couple VMs, so that I can run it whenever I want remotely.

    • @majorgnu
      @majorgnu Před 11 měsíci

      Reminds me of when I used ffmpeg to transcode anime to like 420p with hardsubs so it would play on the cheapo Android 2.1 smartphone I had at the time, so I could watch stuff on the go.

  • @neoqueto
    @neoqueto Před 6 měsíci +1

    Those couple black frames at the end, perfection.

  • @tacokoneko
    @tacokoneko Před rokem +31

    i use ffmpeg a lot and this is SO ACCURATE except for one part - ProRes MOV also supports transparency. no nobody uses that unless you are an apple zombie probably. but im surprised he didnt know that since he automates media encoder with applescript

    • @AvWijk85
      @AvWijk85 Před 9 měsíci

      Used transparent MOVs all the time for creating bumpers, banners, animated logo overlays and effects for videos.

  • @timewave02012
    @timewave02012 Před rokem +14

    I don't typically interact with FFmpeg directly, but I'm constantly reminded that I'm using it by mplayer command line output-which is in Cyrillic for unknown reasons.

    • @calmeilles
      @calmeilles Před rokem +1

      Cyrillic? That's a result of the compile-time flag --ОвМ (Report to Moscow). 😀

    • @timewave02012
      @timewave02012 Před rokem

      @@calmeilles I think it's actually Bulgarian, not Russian. Compile flags managed by Gentoo Portage. I'm guessing I build everything with support for a bunch of languages, and it's defaulting to the first one supported.

  • @dannotdaniel9361
    @dannotdaniel9361 Před 4 měsíci +1

    this is so good you absolutely nailed it. just fantastic. "this is jst ffmpeg behind an nginx". okay... okay...
    if you had grepped your history for ffmpeg commands I would have died.

  • @SomeDudeInBaltimore
    @SomeDudeInBaltimore Před 4 měsíci +1

    The keyframe loss artifacts were comedy gold. I almost didn't catch that.

  • @HashimAziz1
    @HashimAziz1 Před rokem +20

    As someone who's still running a ~12 year old i3 as my main workhorse, Premiere Pro and After Effects take tens of hours to encode a few minutes of video, so I didn't have a choice but to use FFmpeg when I started encoding videos for my channel, and I've since used it to encode every video I've ever uploaded (more than 70, admittedly possible because they're all fundamentally reuploads with minimal hardcoded editing). Nowadays, my uploading process nowadays is 90% automated using Bash scripts I've written and refined over the last 2 years. A significant portion of FFmpeg's complexity is due to its power, which is probably the case for CLIs in general - a GUI program of equivalent capabilities would be unusable because there would be an overwhelming amount of buttons, knobs and sliders. I knew the basics of it when I started, but 2 years in I'm basically a ninja with it, and while there are definitely some design/UX decisions that I disagree with and some things could definitely be made more intuitive, I don't plan to stop using it even after I upgrade my PC.

  • @suvidani
    @suvidani Před rokem +8

    As the famous developer/engineer told: "In 2022 using anything else by FFMPEG is insane!"

    • @mapron1
      @mapron1 Před 11 měsíci

      Yeah, jokes mostly on ffmpeg console tool, but that's a 1% tip of the iceberg that ffmpeg libs are used EVERYWHERE. and they actually pretty damn good in quality. And highly tested.

  • @LetoDK
    @LetoDK Před 5 měsíci +1

    This is the best video I have seen in a year. SO CATHARTIC. Thank you!!

  • @Cuplex1
    @Cuplex1 Před rokem +10

    Im always amazed by the amount of time it takes to render a "ffmpeg -h full" command, command line options infinity! While many of them are encoder specific and too technical to understand without reading the full documentation. Funny enough, I compiled FFMpeg from source yesterday (Full, nonfree, about 2 GB stripped binary output 🤯). Takes about a working day to finish on a workstation, and final completion without any errors is where you feel like a guru for a few minutes.

    • @nibblrrr7124
      @nibblrrr7124 Před 7 měsíci

      wc says it's 15,417 lines, 119,980 words, 1,121,288 characters.
      As a book with 72 lines per page, that would be 362 pages. :^)
      (I got that number from WolframAlpha, which also estimates 165 (252) book pages by word (character) count, but that assumes normal English language.)

  • @lukeharris5131
    @lukeharris5131 Před rokem +10

    I'd kill for one of these but it's an interview with a senior Unity dev

  • @maximilianrau5658
    @maximilianrau5658 Před rokem +13

    Beautiful. Deepest cut yet and still totally accurate.

  • @gblargg
    @gblargg Před 9 měsíci +1

    I never get tired of re-watching this.

  • @QualityDoggo
    @QualityDoggo Před 4 měsíci +1

    The brilliance of FFMPEG is the way it works as a "glue" to stick other components together. The modular handling of inputs, filters, and outputs lets you do almost anything -- also why a lot of software uses it behind the scenes.

  • @ChristopherCricketWallace

    I'm not gonna lie... I think I understand how to use FFmpeg better now. This was really good

  • @deeplerg7913
    @deeplerg7913 Před rokem +8

    FFmpeg is stable. Usually.

  • @RabbitEarsCh
    @RabbitEarsCh Před 6 měsíci +1

    This is so true. It's taken me years not to mess up -s and -ss and --to versus -t .

  • @davidbakin1953
    @davidbakin1953 Před rokem +7

    "here are three ways to do it ... _one of them should work!_ "

  • @lukerocco5523
    @lukerocco5523 Před rokem +4

    great stuff as usual! the actual glitches in the video sets this video apart from the rest. the topic allows you to be even more creative 👏

  • @SbF6H
    @SbF6H Před rokem +33

    Now we need an interview with a FFmpeg developer.
    Spoiler: he would be schizophrenic

    • @FunctionGermany
      @FunctionGermany Před rokem +17

      *he would be multi-threaded

    • @lawrencedoliveiro9104
      @lawrencedoliveiro9104 Před rokem

      The legendary Fabrice Bellard started the project, though I’m not sure he’s still involved with it.

    • @SbF6H
      @SbF6H Před rokem

      @@lawrencedoliveiro9104 He isn't anymore. The leader is Miachel Neidermayer I think.

  • @ipaqmaster
    @ipaqmaster Před 6 měsíci +1

    I love ffmpeg it's the most powerful editing tool humanity has. I can't believe all those shifty adware-filled "free" video conversion and minor editing tools I used as a kid in the 2000s when ffmpeg was right there. I've also made my fair share of mp4 files which don't open ❤ 10/10 meme. I always wonder how many of those conversion sites with dodgy ToS' are just calling ffmpeg in the background (All if not most of them without a doubt). Was that camera shake added in ffmpeg?

  • @cangrejoxidao
    @cangrejoxidao Před rokem +6

    I just spent the last couple of days learning how to do some non-trivial interfacing with ffmpeg and then I see this, I'm dying

  • @hamzaazzouz8056
    @hamzaazzouz8056 Před rokem +5

    what a masterpiece, after working on a video/audio editing project on python, done so much research ,I just get this FFmpeg enthusiast very well. lol

  • @pgMacmillion
    @pgMacmillion Před rokem +62

    Lol this is probably your most niche technology parodied so far 😅

    • @lawrencedoliveiro9104
      @lawrencedoliveiro9104 Před rokem +14

      A lot of tools use FFmpeg behind the scenes, without you realizing it.

    • @gg-gn3re
      @gg-gn3re Před rokem +11

      @@lawrencedoliveiro9104 yea like this site, facebook, virtually every website that has videos actually

    • @nymbusDeveloper86
      @nymbusDeveloper86 Před rokem +2

      It's not that niche really in the IT world... many are using it, even for personal (non-business related) reasons

    • @Sjoerd1993
      @Sjoerd1993 Před rokem +1

      Try watching some videos on any random website on a Linux distro without FFmpeg enabled, find out how niche ffmpeg is.
      Unfortunately it dominates the video space. Twitch, Facebook, Netflix, HBO, Microsoft Teams, Zooms, I can go on...
      Should have moved towards open codecs ages ago such as VP9 which is not tainted with an agressive minefield of software patents. The industry is slowly moving on. but really, really slowly.

    • @gg-gn3re
      @gg-gn3re Před rokem +4

      @@Sjoerd1993 "unfortunately" ffmpeg's domination is a good thing. Too bad it wasn't bigger

  • @Hossimo
    @Hossimo Před rokem +2

    Perfect. All you need is two green columns of pixels on the right hand side of the screen.

  • @juansilva3576
    @juansilva3576 Před 9 měsíci +2

    the first frame artifact got me so good, and then i get hit again by the weird ffmpeg stabilization, what a great video

  • @capunzel5859
    @capunzel5859 Před rokem +5

    had to go back to PROPIETARY CODECS part, way too funny

  • @Jmcgee1125
    @Jmcgee1125 Před rokem +4

    About a year and a half ago I got into FFmpeg because I wanted to concatenate png files from Blender.
    It sent me down the rabbit hole and now I use FFmpeg for everything. Reencode the video to send it on Discord? FFmpeg. Change audio volume? FFmpeg. Trim a video? FFmpeg. Make my computer fans run at 100%? FFmpeg.
    This video is absolutely correct, especially the part about always using -c:v copy. Always use -c:v copy. Unless you want to suffer. Or change containers from mkv. And duplicate commands. There's a reason I have a hundred Batch files (I hate Batch, if you don't then you're lying).

  • @_engid
    @_engid Před 5 měsíci

    The data mosh on "Proprietary Codecs" is a nice touch

  • @randomdatastream
    @randomdatastream Před rokem +3

    OMG these are too funny!! Do Docker\containers next. :)

  • @ZeoWorks
    @ZeoWorks Před rokem +7

    Even the opensource TurboJEPG has an alpha channel, I wonder why video codecs never take advantage of such a core feature?

    • @gg-gn3re
      @gg-gn3re Před rokem +1

      inter-frame tech in video compression is massively more efficient without alpha channels. This is why all of the images based on video codecs can have alpha channels (transparency) but the videos themselves don't. vp8/vp9 (webp/2), av1 (avif) etc
      the best alpha channel video codec is the apple prores one, which ffmpeg can encode and decode flawlessly

  • @RichardBronosky
    @RichardBronosky Před rokem +3

    "proprietary codecs" That effect was awesome.

  • @artr0x93
    @artr0x93 Před rokem +2

    We need one of these on docker

  • @tommydowning3481
    @tommydowning3481 Před 6 měsíci +1

    I feel like this is a video for a ridiculously narrow niche of viewers. Yet so many views, wow. Loved it.

  • @swolebro
    @swolebro Před rokem +146

    I actually use a bunch of Python scripts and ffmpeg to edit all the videos for my channel! Hah! It works great when all you want to do is some simple clipping, concatenation, and audio leveling. It also makes it easy to fully utilize my 2U rackserver with an obnoxious number of cores and a RAM disk for temporary files.

    • @talhaabdurrahman9407
      @talhaabdurrahman9407 Před rokem +34

      He is too powerful to be left alive

    • @nicejungle
      @nicejungle Před rokem +4

      For my part, I've programmed a bunch of php scripts to wrap ffmpeg commands and use it for my YT channel.
      But recently I've used KDEnlive, I'll never use ffmpeg again.

    • @lawrencedoliveiro9104
      @lawrencedoliveiro9104 Před rokem +7

      Python is a good tool for building wrappers. I did a job a few months ago involving extracting telemetry data from videos recorded on GoPro cameras. Yes, did you know there are extra data streams on those videos, besides the regular video and audio?
      Besides the ffmpeg command itself, the suite also includes ffprobe, which lets you analyze a video file and determine the locations and timestamps of every packet in every stream. Once I had this, decoding the data was quite easy (barring discrepancies between documented formats and the actual data generated by different camera models ... c’est la vie ...).

    • @swolebro
      @swolebro Před rokem +5

      @@lawrencedoliveiro9104 Yup, I use ffprobe to get timestamps for each video clip and correlate it to the external audio (adjusting for quirks on each device). Then I use a numpy convolve() to find the precise offsets between the two. Works like a charm, and much easier than clapping in every take and lining up stuff in a GUI.

    • @monad_tcp
      @monad_tcp Před rokem +1

      Having an actual modern server at your disposal is a good trick. Can't beat spending just $40K in a modern 512GB of RAM server, instead of paying $15K/mo to Jeff Bezos Amazon

  • @typeshige
    @typeshige Před rokem +19

    Another great one! I got introduced to your channel at work and I've really enjoyed the javascript, Python and vim ones. Are you talking suggestions? For something different, maybe the DIY mechanical keyboard scene? A lot of programmers I know (me included) have endless discussions about the best switches, layouts, etc. and an "interview with a keyboard enthusiast in 2022" would be amazing!

    • @sn5806
      @sn5806 Před rokem +2

      The average dvorak enjoyer.

    • @felixmerz6229
      @felixmerz6229 Před rokem +5

      Mechanical keyboards? Nah. I've used the same flat membrane keyboard for 13 years. I've coded virtually every single project I've ever done on it, hundreds of thousands of lines of code.
      I do like the suggestion, though.

  • @Rawi888
    @Rawi888 Před rokem

    Just fell into your video. Dawg, even if you don’t understand much, the jokes landed so well. Hilarious.

  • @DanteS-119
    @DanteS-119 Před rokem

    damn, now i remembered i was midway through fixing an issue with transcoding on my media server, i was trying to forget about it being on my to-do list ... thanks

  • @karlkastor
    @karlkastor Před rokem +9

    Did you know that the Mars helicopter Ingenuity uses ffmpeg?

  • @unfa00
    @unfa00 Před rokem +4

    Seriously though I use MKV for everything because it can still play if my rendering crashes, unlike typical MP4. And also because it takes audio in FLAC.

  • @RetoonHD
    @RetoonHD Před 4 měsíci

    3:17 ".. with ffmpeg?" "How did you know??" the tone and facial expression here was perfect, this was so funny.

  • @LunaticEdit
    @LunaticEdit Před 5 měsíci

    As someone who uses libffmpeg in my project, I can confirm the syntax for working with the library looks just like how this guy sounds.

  • @unperrier5998
    @unperrier5998 Před rokem +6

    Premiere is fully multi-threaded... on a single core machine 😄

    • @ea_naseer
      @ea_naseer Před rokem

      a core can have 2 threads

    • @unperrier5998
      @unperrier5998 Před rokem

      @@ea_naseer it seems you don't, because you compute things too slowly 🤣

  • @ragibkl
    @ragibkl Před rokem +3

    I love your work! Please do a video about Rust programmers as well!

  • @KPHIBYE
    @KPHIBYE Před 4 měsíci

    Splitting into and concatenating from a PNG sequence was incredibly useful to me. Funnily enough, the .mp4 file resulting from concatenation could not be played with the default Windows 10 video player, but VLC was able to play it.

  • @Stinktierchen
    @Stinktierchen Před 5 měsíci +1

    I almost gave a like. But the main thing for me is, for what I actually use FFMPEG, is.. and it was not mentioned here at all. You can stream video directly into a file with it. And thats what I do a lot. You can catch HLS and MP4 and TS (MPEG)streams and save them to your PC with FFMPEG. Completely forgot about this great function!

  • @va_duck2497
    @va_duck2497 Před rokem +3

    “This is like Harry Potter” had me dead 😂

  • @JorgeEscobarMX
    @JorgeEscobarMX Před rokem +3

    I love this CLI software. BTW BASH scripting and FFMPEG is really useful and powerful.

  • @model.citizen.ps3
    @model.citizen.ps3 Před rokem +1

    yo your channel is fire - haven't laughed this hard in forever 🙂

  • @ac3d657
    @ac3d657 Před rokem +9

    "We have flying cars
    but BEWARE OF TRANSPARENCY"
    tshirt material

  • @ucantSQ
    @ucantSQ Před 3 měsíci

    I used to use ffmpeg to turn the flv's I grabbed from youtube into .mp3's or whatever. It just recently did some heavy lifting when I used it to grab audio from some CD's. It used to feel like magic, stealing music from youtube. It had it's revenge. The hours I spent in the information void they call their "documentation" have left me a little emptier inside.

  • @k-yo
    @k-yo Před rokem +3

    20 seconds in and I'm laughing my ass off jesus that's gold

  • @darkarchon89
    @darkarchon89 Před rokem +17

    ffmpeg is a big PITA to use, but once you use it enough you get used to its conventions. Its power is unrivaled. Love this program, and making fun of it at the same time :)

    • @gg-gn3re
      @gg-gn3re Před rokem +3

      definitely not a pain to use, it's something that works the same constantly for the past decade and just gets the shit done.

    • @valk_real
      @valk_real Před rokem

      ​@@gg-gn3re haha! for someone with a decade's experience perhaps.
      The docs / errors are an absolute pain and how do you know that it will run in certain OS/Browser/Device?
      At the moment to make a video for social medias for example I run my initial ffmpeg imgpipe to make a .mp4
      then run a second command that changes some things
      Then I boot from Linux to Windows to run Handbrake with a Constant framerate setting so that it's playable/usable on other applications
      So that I can pull it into ableton (music production focus)
      What the heck it's so difficult to make FFMPEG output a usable file, but damn it does what you tell it to with insane precision

    • @gg-gn3re
      @gg-gn3re Před rokem +4

      @@valk_real when I first started using it I followed a basic command and it just worked, years later it still just werks
      handbrake is a linux software, which runs on linux and is ported to windows. why would you switch an OS just to use a software that is already available? also handbrake uses ffmpeg

    • @paulbrookfield4133
      @paulbrookfield4133 Před rokem +2

      @@gg-gn3re ffmpeg has been a reliable work-horse for decades and has a (mostly) stable command line interface, but it's also a big beast of a program that is fairly opaque for newer users, and even for some experienced CLI users, as it has a lot more dependence on the order of its command line arguments than it feels like it 'should' have.
      that said it is my favourite piece of open-source software ever

  • @willcoder
    @willcoder Před 8 měsíci

    The openssl command line is hauntingly similar to ffmpeg's command line. I just spent a day trying to issue client-certs for a private CA and then have curl actually use it. I'd love to see a roast of openssl too!