Nice bro, I guess you might be Chinese aren't you? Your accent sounds like my friend. I am Korean and I have very strong Korean accent on my english too. By the way, your project looks awesome and I am amazed by your works with ESP32. It is hard to keep recording video with great quality of the projects. I would like to record my project but..... I found out doing project + video recording + editing are not easy taking time twice. Especially, your project is meaningful and your idea is really fresh. The completion level is also great. Nice job so far and I am looking forward seeing more project on this channel. Thanks.
I love this, I am planning on a similar project however using a single button to change channel. I am no coding expert but can usually get things going with some tips! Looks like I need to change the 'touchTask' into something that relates to button presses, got any suggestions to set me in the right direction?
I always program with the arduino ide I don't know how to program on visual studio code do you have a tutorial on how to Or a video from an another channel ?
This project was done with Arduino IDE. Are you talking about ESP-IDF? It's tricky but worth learning. Looking at examples is very helpful. I don't have a tutorial on that yet. I'll try to make it if I have a chance. Thanks.
hi i need some help, i try this practice in a esp32s3 display but i try to compile and i get this line error and i dont know what is wrong if you know about my problem please let help static libhelix::AACDecoderHelix _aac(aacAudioDataCallback); static libhelix::MP3DecoderHelix _mp3(mp3AudioDataCallback); datacallback i dont hunderstand what is wrong
Use the old LibHelix library (v0.7 or so). For a more recent library edit line 51 and remove *void in esp_32.h (static void audioDataCallback(MP3FrameInfo &info, int16_t *pwm_buffer, size_t len,*void
At the end of your video, you do a demo of the final result. Many of the videos have visible glitching. Is this due to screen tearing? A mismatch in refresh rate? Or is it struggling to keep up with the frame rate?
ESP32 doesn't have a codec to play a media file. So it's decoding with software to play both video and audio at the same. This is a pretty heavy task on ESP32. Glitches may occur because the entire screen cannot be redrawn within a certain time.
nice - i used lego to embed a video camera, and another set for the streaming "flippy-screen" - cheaper than a digital printer, and kids can build it into bigger projects.
At 1:51 , you say we need something running at 80Mhz, but I can't quite understand what it is you're mentioning. Could you clarify that part please? EDIT: I used AI to create subtitles, and it says you said "A display that operates at 80Mhz". I don't know if that's accurate, but I do know that I can't find any specs on any display that shows its Mhz. At best, Hz, but usually its speed is measured in ms. I guess I'm barking up the wrong tree?
What do you mean by "add channels"? In this project, I just showed the channel number to determine which file is selected from SD card. Is that what you think?
@@Elshan_Mammadov_ Do you mean in real-time? Then it is impossible. Currently, the task of separating the image and audio cannot be performed inside the ESP32, so you must first separate the image data and audio data from the original video.
The small size of video files might be possible, but at the moment I have no idea how to configure the system for it. I'll try it if I have a good idea.
trying to get this to loop a video, but it keeps restarting even though I removed the command from the controller. I know it has something to do with clearing the buffers, But I cant get them to work.
@ThatProject 2" st7789. I'm currently running a single core code right now, but like the smoothness of dual core. I'm using them for props, the videos need to loop seamlessly unless an interrupt to change files happens. In the code I'm using, the originator added free(_mjpeg_Buf); At the end of the video, it allows it to loop without crashing. I just don't know how to do that for the dual core, because I would think it would need to free 2 buffers, correct? NULL doesn't work.
@@davisje011 The use of 2 cores is to reduce bottlenecks and increase FPS by separating the decoding and drawing parts of the image when drawing the screen. I also had a similar problem, and in the end, when one file was finished playing, I had to set it to the next file name and then reset it to play the next video. In order to make it without restarting, you will need to clear everything allocated to memory at the end of the video and reset both the video and audio tasks. I don't know how effective this will be.
Mine works. No restarts! I've created a void and run the code from there. At the end of the video the void returns to the main loop where it gets called again. Make sure to initialize the sd card-reader inside the void again otherwise it will crash and resets. Also add a small delay (2000 or so) before the video closes. It compensates for a a/v length-difference and thus avoiding a crash. Usefull for longer clips.
@@huylehoang3856 create a void, run the code from there, clear the buffers and restart the void. You can simply play the same video over and over again, or with the curr_video_idx++; function go to the next video.
Works perfect on a TTGO S3 Display,. Make sure to use the Arduino_ESP32LCD8 databus driver, together with the Arduino_st7789 GFX driver. Define all LCD pins (according to the data bus), the Pin_POWER (15) and BUTTON pins (0 and 14). Do not forget to power on the display in Setup (PIN_POWER_ON) Connect your SD card reader to pins 10 (CS), 11 (MISO), 12 (CLK), 13 (MOSI)
Hello! fails to compile :( log file: drive.google.com/file/d/1gL1YQ0BjoKZwliLLDg1qTCOJHMYiHpr1/view?usp=sharing I used: ESP32 by Espressif Systems 2.0.11 installed Please upload libraries to google drive