Decoding video pixel data in C++ using FFmpeg (Part 1)

preview_player
Показать описание


This part of the livestream can serve as a tutorial showing how to get up and running with the FFmpeg library (Libav). I detail how to link against in and how to integrate it into a CMake build.

Once set up, I run you through decoding a single video frame. Using libavformat and libavcodec.

Рекомендации по теме
Комментарии
Автор

Watching you learn is honestly, a joy.

Odiee
Автор

THANK YOU!
I was so confused by the API changes, the deprecation and everything about it, basically. This was extremely helpful and appears to be relevant to the latest versions of the thing. I'm subscribing. Keep up the good work!

pdjinne
Автор

Thank you! You're explanations are great for a subject I find quite complex. I'm looking forward to watching the rest.

mehdid
Автор

saved to watch later <3 please don't get discouraged, keep making videos. thanks for sharing your knowledge.

xorasanorg
Автор

Man, You Rock! Your channel is one of those youtube hidden gems. Subscribed after the first 2 minutes of the first tutorial in this series.

gmcquads
Автор

Okay, FINALLY there's a tutorial about ffmpeg. Man, this lib has the worst documentation in the world

CaesarTF
Автор

Can you do a tutorial on encoding RGB byte data TO H264 in C++? Information on how to do that doesn't seem to exist anywhere.

burnratedev
Автор

damn, that cmakelists config for ffmpeg saved me a world of pain, thank you!!

ManiaCfull
Автор

Great stuff! Thanks for the thorough explanation:)

gameguyr
Автор

AAC stands for Advanced Audio Codec i don't think it's anyhow related to Apple but beside great tutorial/live coding for such a specific lib

nikolajankovic
Автор

Just wanted to ask, will this work on windows?

I installed ffmpeg using choco instead of brew, and then followed the steps you gave. However, pkg-config can't find libav?

fobwatch_productions
Автор

Bro how do you even learn this stuff, I can hardly find documentation and this seems a bit complex I don’t know what to do

ALEET
Автор

Thanks very mush, very simple about hard materials, about FFmpeg which without normal tutorial, Thanks for the video))

nickoder
Автор

Your explanation was exactly what i was looking for! I'm quite a beginner when it comes to C / C++, but i'm writing my own software for a home made led display (2 meters by 80cm and 5499 leds) on the pi also in C.
Now i have that display going on a Raspberry pi 4 with E1.31 protocol support (hacked it together from sources of the internet). I can control it with xLights(Christmas lights software ;) ). but i want an own player / system on the rpi because i think that will be allot faster then xLights controlling it. :) Not that the pi has troubles with steering it. But xLights video player is kinda buggy and has some framedrops (And no, my pc is not too slow, with a maximum load op 0.93 with xLights doing it's thing)

But thanks for your video! it helped me allot, now i'm gonna try to get it compiled on the pi. Wish me luck :D

wizzbitgxs
Автор

Very nice Intro, you look very young for some serious tech dive. Good job. Are you on twitter?

jungjunk
Автор

Why did you use posix_memalign instead of malloc for allocating framebuffer?

amir.the.creative
Автор

Hi, thanks for this useful tutorial. I get this warning once when decoding. Any idea why ?
*[mp3float @ 0x561628bb6e40] Could not update timestamps for skipped samples.*
*[mp3float @ 0x561628bb6e40] Could not update timestamps for discarded samples.*

realalphabet
Автор

Hi, thanks for sharing! I just have one question, in your tutorial, AVFrame has YUV as img format, but will this always be the case? Is there a way to tell the format of img so I can arrange the pixels in AVFrame->data correctly

wenschannel
Автор

Thanks for this awsum explanation .
Right now i am facing the issue . Could you help me to figure it out.
Error Bug :
[rtsp @ 0x55def0b00ac0] getaddrinfo(): Name or service not known
[rtsp @ 0x55def0b00ac0] max delay reached. need to consume packet
[rtsp @ 0x55def0b00ac0] RTP: missed 10 packets
Assertion desc failed at
Aborted (core dumped)

harshbhatnagar
Автор

great stuff! awesome and detailed explanation

SanmathiBharamgouda