- Видео 53
- Просмотров 134 277
Dev Stef
Италия
Добавлен 19 июн 2022
Hello, this is Stef.
I work for an Image and Video processing company.
In my free time I would like to share some of the world of video development, video decoding and some curiosities on how this amazing world goes!
I work for an Image and Video processing company.
In my free time I would like to share some of the world of video development, video decoding and some curiosities on how this amazing world goes!
FFmpeg 7.0 Is Out! Let's See What's New...
FFmpeg 7.0 has just been released.
Let's have a look together at some of the new features.
Just in case there are questions or doubts, feel free to comment down below!
Further reference for this video:
► FFmpeg News page: ffmpeg.org/index.html#news
► FFmpeg 7.0 changelog: git.videolan.org/?p=ffmpeg.git;a=blob_plain;f=Changelog;hb=n7.0
► VVC Wikipedia page: en.wikipedia.org/wiki/Versatile_Video_Coding
► VVC encoding: forum.doom9.org/showthread.php?p=1982809
► VVenC encoder: drive.google.com/drive/folders/1D_-QdcCgqrHG8I1h09wst1xP27PkkfkS
Sample videos:
► Big Buck Bunny
Download page available at peach.blender.org/download/
► Novosobornaya Square www.elecard.com/videos
► www.pexels.com/video/different-...
Let's have a look together at some of the new features.
Just in case there are questions or doubts, feel free to comment down below!
Further reference for this video:
► FFmpeg News page: ffmpeg.org/index.html#news
► FFmpeg 7.0 changelog: git.videolan.org/?p=ffmpeg.git;a=blob_plain;f=Changelog;hb=n7.0
► VVC Wikipedia page: en.wikipedia.org/wiki/Versatile_Video_Coding
► VVC encoding: forum.doom9.org/showthread.php?p=1982809
► VVenC encoder: drive.google.com/drive/folders/1D_-QdcCgqrHG8I1h09wst1xP27PkkfkS
Sample videos:
► Big Buck Bunny
Download page available at peach.blender.org/download/
► Novosobornaya Square www.elecard.com/videos
► www.pexels.com/video/different-...
Просмотров: 820
Видео
Mastering FFmpeg | Tutorial 02: Let's Create A Basic Video Player From Scratch!
Просмотров 7326 месяцев назад
Today we take a look at the second FFmpeg tutorial program from the series, which guides through the functioning of SDL and FFmpeg to play the first video stream from the input file. We take a look at what the programs runs and generates, and then we take a deep look at its instructions. Just in case there are questions or doubts, feel free to comment down below! Feel free to fork and modify th...
Mastering FFmpeg | Tutorial 01: Let's Extract Video Frames From And Save Them!
Просмотров 6766 месяцев назад
Today we take a look at the first of the FFmpeg tutorial program series, which guides through the functioning of FFmpeg to extract the stream from the input and put it in the output We take a look at what the programs runs and generates, and then we take a deep look at its instructions. Just in case there are questions or doubts, feel free to comment down below! Feel free to fork and modify the...
FFmpeg Tutorial On Visual Studio Code: Let's Run This Project Together!
Просмотров 1,1 тыс.7 месяцев назад
Today we take a look at a very cool FFmpeg tutorial, which guides through the creation of a player that is very similar to FFplay. We take a look at how to retrieve the repository, how to compile FFmpeg properly, and how to open Visual Studio Code and run the tutorial files. Just in case there are questions or doubts, feel free to comment down below! Feel free to fork and modify the repository ...
A Deep Dive Into The WAV Format: Let's Have a Look Into Its Bits!
Просмотров 2498 месяцев назад
Today we take a look at the WAV file format. We take a look at how the WAV header looks like by writing a Python program that acts as a parser, seeing all the remarkable fields in a couple of sample WAV files. Just in case there are questions or doubts, feel free to comment down below! Further reference for this video: ► en.wikipedia.org/wiki/WAV ► www.mmsp.ece.mcgill.ca/Documents/AudioFormats/...
FFmpeg 6.1 Is Out! Let's See What's New...
Просмотров 2 тыс.8 месяцев назад
FFmpeg 6.0 has just been released. Let's have a look together at some of the new features. We also take a look at the Zoneplate test filter and we test that the Vulkan decoding works fine. Just in case there are questions or doubts, feel free to comment down below! Further reference for this video: ► Release notes: ffmpeg.org/index.html#news ► Release page: ffmpeg.org/download.html#release_6.1 ...
BMP Parser In Python: Let's Decode the Bits Together!
Просмотров 611Год назад
Today we take a look at the BMP file format. We take a look at how the BMP header looks like by writing a Python program that acts as a parser, seeing all the remarkable fields in a sample BMP file. Just in case there are questions or doubts, feel free to comment down below! Further reference for this video: ► en.wikipedia.org/wiki/BMP_file_format ► github.com/corkami/pics/blob/master/binary/bm...
PyAV: Let's Supercharge Python with FFmpeg's Video Capabilities
Просмотров 1,4 тыс.Год назад
Today we are seeing how PyAV works. PyAV is a library that lets an interaction with FFmpeg in a Python environment. First of all how to install a Python environment with Miniconda, we install the necessary packages and then we try to use PyAV using a Jupyter notebook in Visual Studio Code. Just in case there are questions or doubts, feel free to comment down below! Further reference for this vi...
360 video: How Do They Work? Let's Find Out!
Просмотров 774Год назад
Today we are looking at 360 videos. We are taking a look at all the types of projections and what to do to take the first steps to create a 360 video. Just in case there are questions or doubts, feel free to comment down below! Further reference for this video: ► Vittorio Giovara - Video Encoding in Virtual Reality: Spatial, 360, and Ambisonics: ruclips.net/video/hGd2xFLtj1s/видео.html ► FFmpeg...
FFmpeg 6.0 Is Out! Let's See What's New...
Просмотров 2,5 тыс.Год назад
FFmpeg 6.0 has just been released. Let's have a look together at some of the new features. Just in case there are questions or doubts, feel free to comment down below! Further reference for this video: ► Release notes: ffmpeg.org/index.html#news ► Release page: ffmpeg.org/download.html#release_6.0 ► FFmpeg 6.0 announcement at FOSDEM '23: fosdem.org/2023/schedule/event/om_vlc/ ► Slides: fosdem.o...
FULL STREAMING POWER! HLS And DASH On A Nginx Server With RTMP Support - A Complete Walkthrough
Просмотров 11 тыс.Год назад
Today we see how to stream using HLS and DASH with the Nginx server we configured in this video: ruclips.net/video/DBn_dS04kMY/видео.html We see first how to enable a HLS and DASH server, then we see how they are connected to the RTMP server, so to have a HLS and DASH stream as soon as we stream data using RTMP. In the end, we see with FFmpeg how to create HLS and DASH streams from scratch Just...
FFmpeg Streaming - Next Step: RTMP Configuration and Usage
Просмотров 11 тыс.Год назад
Today we see how to stream in RTMP and FFmpeg. We see how to install and configure Nginx on Xubuntu 22.04 and how to enable the Nginx RTMP module. After that, we give a try on how to stream a file or our screen via RTMP. Just in case there are questions or doubts, feel free to comment down below! Further reference for this video: ► trac.ffmpeg.org/wiki/StreamingGuide ► sonnati.wordpress.com/201...
FFmpeg Streaming Bootstrap: UDP To Get Started!
Просмотров 5 тыс.Год назад
Today we use FFmpeg to stream a video file, camera devices output and share our screen through a local network. The protocol we are using is UDP, which does not allow a segment tracking but it is ideal if the stream is continuous (like a camera stream). Just in case there are questions or doubts, feel free to comment down below! Further reference for this video: ► trac.ffmpeg.org/wiki/Streaming...
FFmpeg Code Inspection: Let's Explore its Inner Workings!
Просмотров 436Год назад
FFmpeg Code Inspection: Let's Explore its Inner Workings!
FFMPEG On Windows Was Compiled In The Wrong Way! How To Obtain It Without Optimizations With MSVC
Просмотров 742Год назад
FFMPEG On Windows Was Compiled In The Wrong Way! How To Obtain It Without Optimizations With MSVC
Debug FFmpeg on Ubuntu 22.04 with Visual Studio Code: A Complete Walkthrough!
Просмотров 1,1 тыс.Год назад
Debug FFmpeg on Ubuntu 22.04 with Visual Studio Code: A Complete Walkthrough!
FFMPEG & Visual Studio Code on Windows: How To Get Started Easily!
Просмотров 6 тыс.Год назад
FFMPEG & Visual Studio Code on Windows: How To Get Started Easily!
FFMPEG + libx264 Compiling On Windows With MSVC: The Complete Walkthrough
Просмотров 6 тыс.Год назад
FFMPEG libx264 Compiling On Windows With MSVC: The Complete Walkthrough
ChatGPT: Let's Have A Chat About Video (But Not Only)!
Просмотров 189Год назад
ChatGPT: Let's Have A Chat About Video (But Not Only)!
FFMPEG Enthusiast Reacts To "Interview with FFMPEG enthusiast"
Просмотров 23 тыс.Год назад
FFMPEG Enthusiast Reacts To "Interview with FFMPEG enthusiast"
FFMPEG Overlay And Drawtext: How To Easily Render Text And Images On Your Video!
Просмотров 6 тыс.Год назад
FFMPEG Overlay And Drawtext: How To Easily Render Text And Images On Your Video!
FFMPEG & Filter Complex: A Visual Guide to the Filtergraph Usage
Просмотров 4 тыс.Год назад
FFMPEG & Filter Complex: A Visual Guide to the Filtergraph Usage
Animated GIFs: Make Them Beautiful Once And For All With FFMPEG!
Просмотров 865Год назад
Animated GIFs: Make Them Beautiful Once And For All With FFMPEG!
More Cool FFMPEG Audio Features: Text-To-Speech, Sine Wave & MORE
Просмотров 1,9 тыс.Год назад
More Cool FFMPEG Audio Features: Text-To-Speech, Sine Wave & MORE
The FFMPEG Way To Deal With Your Audio: Extract - Waveform - Spectrogram - High/Low Pass Filters
Просмотров 1,4 тыс.Год назад
The FFMPEG Way To Deal With Your Audio: Extract - Waveform - Spectrogram - High/Low Pass Filters
How To Make Wonderful Test Videos with FFMPEG!
Просмотров 1,1 тыс.Год назад
How To Make Wonderful Test Videos with FFMPEG!
FFMPEG & Screen Capture: How To Record From The Command Line
Просмотров 6 тыс.Год назад
FFMPEG & Screen Capture: How To Record From The Command Line
Metadata & Chapters: The FFmpeg Method To Manage Them!
Просмотров 2,8 тыс.Год назад
Metadata & Chapters: The FFmpeg Method To Manage Them!
Subtitles & FFMPEG: How To Caption Your Video The FFmpeg Way
Просмотров 3,5 тыс.Год назад
Subtitles & FFMPEG: How To Caption Your Video The FFmpeg Way
FFMPEG & Resize: Make Them The Right Size Using The Scale Filter!
Просмотров 1,5 тыс.Год назад
FFMPEG & Resize: Make Them The Right Size Using The Scale Filter!
Moore William Martinez Edward Garcia Jason
Williams Robert Gonzalez Brian Wilson Linda
Brown Jessica Walker Linda Martin Timothy
Young Paul Martinez Michelle Davis Carol
Clark Susan Hernandez Michelle Lee George
Thanks for this very helpful video. You skipped the "make install" step in your video. I was wondering why I didn't get an "installed" directory. Luckily, I'm following along with the linked script. :)
Please make a video how to build ffmpeg with Newtek NDI in Windows. Even older version also ok like n5.1 Preferred 32bit
Harris Richard Anderson Laura Thompson Gary
has this error when CC=cl "../../sources/x264/config.guess: line 1: syntax error near unexpected token `newline'", noticed the link to config.guess to run with Curl is not available anymore. Is there a updated link to download and update the config.guess?
Please tell me which is better Windows ffmpeg.exe . Cross compiling from Linux or Building with Toolchain inside Windows itself ?
Thanks for sharing video❤❤❤
Thank you!!!
Hi, I would be glad if you could help me with this one: After executing line: CC=cl PKG_CONFIG_PATH=../installed/lib/pkgconfig ../../sources/ffmpeg/configure --prefix=../../installed --toolchain=msvc --arch=x86_64 --enable-yasm --enable-asm --disable-shared --enable-static --enable-libx264 --enable-gpl --enable-nonfree --enable-debug --extra-ldflags="-LIBPATH:../../installed/lib" --extra-cflags="-I../../installed/include/" I received an error: ERROR: x264 not found using pkg-config Found info somewhere to use this: pacman -S mingw-w64-x86_64-libx264 After executing above command I closed msys prompt, opened it again and execute the first line. Same error about x264 is still present.
Wow, can we also steam live camera and stream it on local network? Just like how NDI works. We have 4 cameras in a hall which goes to atem and goes to pc, if we can take the input and stream it on network so that we can send it on another hall which is 200 meter away. We will use fiber cable.
Yes you could. You can follow the instructions in this video, feeding the input as the camera, respecting the inteface your cameras are connected on the server PC. Some complication may derive on how do you want to get the camera streams: separate or together in a video. If separate: you have to create different connections, as different references. If together in a video: you can use a complex filter, more reference here ruclips.net/video/Yc16I6i9xDU/видео.html
Thanks, man. I got confused by the Wikipedia article a bit, and your video cleared some stuff up. Thanks.
Glad I could help pal! You're welcome
I want to know if can i make .so file of ffmpeg instead of executable?
You can, you must be careful though. You should compile by using these flags while using the ./configure command: --disable-programs --disable-static --enable-shared. Warning: these are the necessary ones to use, if you need more help about to build the program, refer to my video here ruclips.net/video/PJ6y-r_buUI/видео.html
Fantastic tutorial, thank you so much! From your video, I was up and running in no time, and quickly moved on to exporting single frames from a video stream, at regular intervals. Thank you!
I'm glad it helped pal!
I know this video is year old now, but heads-up that you can use the -benchmark flag on ffmpeg to time the execution, rather than trying to click on a stopwatch with perfect timing
Never stopping learning here! Good tip!
Does this also work in WSL?
It should. If you installed selected Ubuntu or a Debian derivative, it should work. Never tried, but it should
ffprobe -hide_banner -i filename.avi
I have 22 minutes and 21 second video. For every 8 seconds I need to remove next 30 seconds and then after 8 seconds again I need to remove the next 30 seconds.How to do this in ffmpeg
This requires a complex filter, in particular we need the _select_ complex filter. A video of mine telling more information on how to use the filter is available here: ruclips.net/video/Yc16I6i9xDU/видео.html
I have 22 minutes and 21 second video. For every 8 seconds I need to remove next 30 seconds and then after 8 seconds again I need to remove the next 30 seconds.How to do this in ffmpeg
i know how.
This requires a complex filter, in particular we need the _select_ complex filter. A video of mine telling more information on how to use the filter is available here: ruclips.net/video/Yc16I6i9xDU/видео.html
Nice video. This project lends itself to the use of the Python 'struct' module. with open('example.bmp', 'rb') as bmp_file: # Read the BMP header bmp_header = bmp_file.read(54) # BMP header is 54 bytes # Unpack the data from the header bmp_type = struct.unpack('<2s', bmp_header[0:2])[0] bmp_size = struct.unpack('<I', bmp_header[2:6])[0] bmp_reserved1 = struct.unpack('<H', bmp_header[6:8])[0] bmp_reserved2 = struct.unpack('<H', bmp_header[8:10])[0] bmp_offset = struct.unpack('<I', bmp_header[10:14])[0] bmp_dib_header_size = struct.unpack('<I', bmp_header[14:18])[0] bmp_width = struct.unpack('<I', bmp_header[18:22])[0] bmp_height = struct.unpack('<I', bmp_header[22:26])[0] bmp_colour_planes = struct.unpack('<H', bmp_header[26:28])[0] bmp_bits_per_pixel = struct.unpack('<H', bmp_header[28:30])[0]
Hello, thank you for your excellent video. I would like to know if I can set the time code for advace? For example, begin the timer at 09:30:40.50? Thank you
You can, using the -timecode flag. I think this may be useful for you stackoverflow.com/questions/65027118/ffmpeg-change-timecode-metadata-inside-video-file
Thanks Stefan for this excellent review of the new version!
Thanks for watching! Glad you enjoyed it.
Wow great job. You should make a GIF decoder next!
Hi! Thanks for watching! It is on the list, among other formats of images/audio, and video content. Cheers!
Great explanation, i learnt how to add multiple fitlers, please keep up the good content.
Thank you very much! I made something about the complex filters, available here ruclips.net/video/Yc16I6i9xDU/видео.htmlfeature=shared
Your notes file is missing the -f flv
Thanks for pointing it out! Corrected already
i setup in ubuntu, but when in run ffmpeg command with streaming to youtube via rtmp, then i check pid using of ubuntu. it show alot of pids are using. not like in mac, it only use one pid. can you explain for it ?
It may depend on the way it is compiled. I did not go so deep in the implementation. Is the Linux implementation eating more resources than the Mac one?
how about -filter_complex_script
Oh, this is a nice one! I did not mean to publish anything about it yet. But thanks for the suggestion!
how to stream from webcam? or any usb cam?
Sure, I made a series of videos dealing with the topic of streaming using different protocols. The playlist is available here ruclips.net/p/PLOQsURf6CFX2mrC10kiddTEPaftVDAzm2&si=xkO4BPpq6HXzD4RK
can you help me with one task, I have a video, now I want to add a vertical line which moves horizontally as the audio/video plays. How can I do this?
This task can be solved using a time-variable annotation. I covered something in this video ruclips.net/video/2X4yqynOaTU/видео.htmlfeature=shared but I guess it needs to be topped up with other concepts. Cheers!
Great tutorial Sr
Thank you very much! And thank you very much for watching!
I have all of those
Thanks!
why mouse is blinking
I see sometimes there is this problem. The protocol and the driver is not amazing, but it works for what we need to do.
Awesome. I would really love to see a video like this which deals with more than 2 videos. And where audio also a factor. After seeing your video here, I became confident to try for myself. For which I thank you immensely. And I successfully cross fade video with audio. But when more than 2 video required to join with fade, it became so much more complex. Too much for me to figure out. Thank you once more for this.
Thank you very much! I'm glad this video was useful. Cheers!
i tried to build it with mingw-w64 gcc compiler, and the configuration worked fine. this is my config: CC=gcc ../FFmpeg-master/configure --prefix=../build --shlibdir=../build/shared --enable-gpl --enable-nonfree --enable-shared --disable-programs --target-os=mingw32 --arch=x86_64 when i did the make -j 6, it gave an error about missing or non existing file. it seems dat my make doesnt support absolute paths, and it is trying to use the current path and then using the path provided in the include of the make generated by configure, leading to missing files. i tried to replace it by the relative path and it worked, but then the FFmpeg makefile failed due to the same reason. the error is this: Makefile:1: /c/Users/username/Downloads/FFmpeg-master/Makefile: No such file or directory make: *** No rule to make target '/c/Users/username/Downloads/FFmpeg-master/Makefile'. Stop. any idea why my make is not taking the paths as absolute, and consequently messing up the compilation? NOTE: im using the mingw make, v 4.4.1
Is there a way or work around with the delay? Im trying to stream with obs to nginx rtmp hls😅
Can't help with this... there can be a world around a delay! The most probable reason may be the video decoding and encoding along with the streaming, filling the resources and causing the delay.
Bravissimo Stefano, l'accento italiano si sente tanto ma devo dire che sei uno dei + bravi Italiani che ho sentito in merito ad "Accento" (te lo dico da italiano all estero eh ... :)). 'Scolta ho una domanda ... ma per entrare un po + sul tecnico dove mi consigli di guardare? Intendo sulle varie opzioni di ffmpeg, mux / demux / encoding etc etc. Online non trovo tanto materiale in merito (tanta teoria, ma parzialemtne declinabile poi sui vari softwares). Ciao grande, bravo, Luca.
Buongiorno Luca, grazie mille per il feedback! Ebbene sì, bisogna lavorare ancora un po' sull'inglese per essere un po' più neutro. Mi fa piacere che il video sia piaciuto. Per andare più nel dettaglio su queste cose ci sono le guide di FFmpeg ma anche un paio di testi. Uno che posso consigliare è FFmpeg - From Zero to Hero by Nick Ferrando. Più informazioni sul sito relativo ffmpegfromzerotohero.com/ In futuro ho in programma di trattare qualcosa di più profondo e tecnico comunque, tempo permettendo. Stay tuned!
I’m watching this video now. Do you have a playlist for beginners? Programmers who are getting into this technology now? We don’t understand what words like: bitrate, encoding, decoding, compiling, processing, format, codec, etc mean.
Hi! Sure, I made a playlist I would suggest if you want to use FFmpeg from scratch ruclips.net/p/PLOQsURf6CFX1A_Cpxc-0rydtyO5gD6DrY&si=p5Atm7vPUjCQMulI Thanks for watching!
Thanks , you are the best ffmpeg teacher
Thank you very much for your kind words! And thanks for watching!
Hi. Thank you for this video. On Windows 11, the path to the font should be "fontfile='C\:/Windows/Fonts/Arial.ttf" if the script is executed from another drive location. Otherwise it will not find the path. I had no success with the Calibri font because my current build of ffmpeg does not support monocromatic (1bpp) fonts. For my use case I needed to add two different text boxes, so I used the -vf option (-vf "drawtext=xxx,drawtext=yyy") where xxx and yyy are variables containing the display instructions. In your demo, I think you forgot to type a ":" before the "x" axis. It will work without but I think it is better to use the attributes separator in a consistent way. Your video helped me a lot. Grazie. Giancarlo.
I thank you for this. Goddamit. C\:/ is hellish!
Hi Stef, your ffmpeg playlist is amazing . You have explain every concept of ffmpeg in deep and Simple manner which helps a lot for me. I am trying to build ffmpeg.dll , with the help of your video I am able to generate ffmpeg.exe to generate ffmpeg.dll I have given - -enable-shared in configuration but still I am getting ffmpeg.exe, for libavcodec, libavdevice getting dll but not for ffmpeg , am I missing any configuration? Can you please help me to generate ffmpeg.dll.
is there any way to eliminate the tiny audio gap between merge points? I merged 10 videos and there is a tiny skip in between merged videos
I think this may be given by a small time shift between video and audio. Sometimes, video and audio don't start and don't end at the same time. Another reason may be audio frame stuffing: if the audio frame is of a certain length and the audio ends a bit before, there might be this gap. This requires further analysis, and maybe changing the concatenation method. Which method did you use?
how to capture audio not from microphone but the feed that comes out to speaker, therefore audio no noise included but pure audio from desktop or browser media playing, by the way no issues with video capture, just the audio giving trouble. tak
thanks!
You're welcome! Thanks for watching!
Hey. I’m not sure if FFMPEG is what I’m looking for, but let me tell you about what I’m looking for. I want to stream my PS3 console to my devices (iPhone, Steam Deck, etc). Is there some sort of FPGA solution for this, or is FFMPEG possibly an answer? I’m not an engineer and I’m probably in the wrong arena, but…any insight is extremely helpful.
is there another solution to this? nginx installs and runs, but i can't stream to it. OBS says the stream url is invalid. tried nmap on my server and the rtmp is open and alive
The system is meant to transmit streams from the server to the client. You set everything correctly, maybe you are using it on the other way around.
@@devstefit not sure what you mean but i got it to work. i stream to the rtmp server with obs and i can watch the stream on as many clients as i'd like
@@lands1459 Sorry, I misunderstood your question. I understood you wanted to use the server to receive streams. I am glad you solved! And thanks for your feedback!
It is amazing