esp32compositevideo's People
Forkers
markbirss hibive cnheider nangs longjohncoder cwei mizunomi-tokyo marcel303 starchild0007 solid-droid rtreccani alessandroau luqide bacilladoro vadimostanin sw3nlab eggfly hex007 weiyongwill mbr001 erenard asia-suzuki qcarver nhacamaster stosc guseboi eosbandi musabkilic zephyrusws 307677814 sniff122 lmandres marciot army11711 entozoon bbllmaster mario44 lunatik-13 hynk02 chrmlinux udude darkfoxtechnology bndtr0 chisbread fabrimt lelesilveira noctilia perevalovds benedetto73 mayermakes voha888 kobayutapon hype-armor ppsilvesp32compositevideo's Issues
Not working with WiFi.h
Not working on my esp32-wroom-32u board connected to crt
Binary image
Please add a binary image we can directly flash on ESP32 using the flashtool.
rtc.h not found.
I have installed the esp32 requirements and i get an error on compile for this:
AudioVideoExample:3:21: error: soc\rtc.h: No such file or directory
#include <soc\rtc.h>
^
compilation terminated.
exit status 1
soc\rtc.h: No such file or directory
An anybody help?
Do you have ideas for color?
Hello
I read the comments on your Youtube page.
I'm curious to know if any of those comments have given you ideas that might lead to the display in color?
thanks
Flashing image on car / FPV screen
Hi Bitluni,
I have posted this on your Patron as well, I hope you don't mind me posting here too.
I have tried the Composite video on my -ordinary TV- and it works perfectly but when I try it on a car monitor device like this one: https://www.amazon.co.uk/gp/product/B0056WJP1M it shows the image but flashes on and off about twice a second, would you have any idea why this would be?
I have also tried a FPV screen and had similar results.
Thanks for any help or advice.
Anthony.
Esp32-Cam as an input source for composite
Could the image2header conversion happen directly on the esp32 and so allow for example to convert the image from an esp32-cam directly to a composite tv or would that be too much processing for the esp32 to do that in real time?
(Sorry for asking this here but maybe someone has an idea how to do that :)
Small B/W TV Advice
I'm getting such a fussy signal on one of those small CRT TVs:
https://www.youtube.com/watch?v=3TDNHkneLm0
Playing around with VHold and whatnot, this is literally the best I can get it.
Does anyone have advice about what to try? Perhaps capacitors somewhere? Resolution change doesn't seem to help
It's weird because normal composite video feed from, say a raspberry Pi 1 / camcorder, etc is just fine so I can't imagine what's different with this?
How to increase the size of the font?
Composite outputs monochrome video
It just displays monochrome video and not like grayscale, same result in both pal and ntsc on same tv
5.8GHz FPV
I have used CompositeVideoSimple example as video source for 5.8GHz FPV transmitter, but it does not work correctly. The signal is there but it is somewhat unstable. I can see part of the image on one frequency, another part on another frequency, sometimes whole image for a few seconds. I have tried 3 different transmitters a none of them work and when I use common camera as a source the image is crystal clear. Tried to change PAL/NTSC, resolution but it does not help. Looks like something is out of sync. Can you recommend me some parameter I could try to change ? Thank you...
ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
D:_ARDUINO\LIB\ESP32CompositeVideo-master\CompositeVideoSimple\CompositeVideoSimple.ino: In function 'void draw()':
D:_ARDUINO\LIB\ESP32CompositeVideo-master\CompositeVideoSimple\CompositeVideoSimple.ino:75:26: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
graphics.print("hello!");
^
D:_ARDUINO\LIB\ESP32CompositeVideo-master\CompositeVideoSimple\CompositeVideoSimple.ino:76:34: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
graphics.print(" free memory: ");
^
D:_ARDUINO\LIB\ESP32CompositeVideo-master\CompositeVideoSimple\CompositeVideoSimple.ino:78:38: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
graphics.print("\nrendered frame: ");
^
D:_ARDUINO\LIB\ESP32CompositeVideo-master\CompositeVideoSimple\CompositeVideoSimple.ino:81:38: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
graphics.print("\n in hex: ");
^
ESP32-D2WD 2 megabytes flash RAM & resolution
Hello,
I read that the ESP32-D2WD has 2 megabytes of embedded flash memory.
Would this be usable as graphics memory for your ESP32CompositeVideo project or would it be too slow?
Is it possible to capture composite video with esp32 (and send picture via WiFi)
I have an old camera with composite video out. And I think to start use it.
Sorry for my English. ๐
esp32 s3 + external dac
I was wondering if I could use a external dac since the esp32 s3 doesn't have one.
like this one from adafruit: https://www.adafruit.com/product/935 ?
I already have it I just need to know how if possible
Not working with ESP32 Arduino Core >2.0.0 stable
I noticed that the compiler errors/warnings exist in version 2.0.0 of the esp32 core for Arduino IDE, but in versions 2.0.4, 2.0.3 (2.0.2 and 2.0.1 not tested), it just doesn't display anything. 2.0.0 still works though.
Ideas for how to synchronize to an external video source?
Hi,
I want to be able to synchronize this to an external video signal so I can generate an OSD overlay.
But the synchronization part is seemingly impossible!
I'm made a test circuit with an LM1881 sync separator and I have modified the composite output library so that the clock source for the I2S DMA is set to the APLL. I can then modify the APLL registers with rtc_clk_apll_enable() and have very fine frequency control over the I2S DMA output.
I then wrote a Phase Frequency Detector type PLL 'loop' in order to lock onto the external VSYNC signal. It compares the VSYNC pulse to when data is written I2S DMA and tries to get them into sync by adjusting the the APLL regs and hence the frequency that the data is pushed out.
I can get reasonably close to a 'lock' but no matter what I do there is always about 1 line of jitter which is not acceptable for drawing an OSD.
I also tried a 'dumb' solution where the external VSCYN simply triggers the function to write to the I2S buffer but this still jitters badly....
Anyone with an ideas, please help, I am stuck :(
Even enabling PSRAM on boards that support it makes the signal lose sync
I have an ESP32 WROVER and I have found if I even enable PSRAM the system loses sync and the text slowly moves down the screen.
I am not sure as to why as the buffers should still be in main ram unless arduino-esp32 changed the functioning of malloc in respect to PSRAM lately.
Not working with ESP32 Arduino Core 1.0 stable
***ERROR*** A stack overflow in task c has been detected.
Hello, just uploaded buth sketches (unmodified) from this repo onto my Sparkfun ESP32 dev board. It keeps rebooting, here is the serial monitor output:
ets Jun 8 2016 00:22:57
rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0018,len:4
load:0x3fff001c,len:952
load:0x40078000,len:6084
load:0x40080000,len:7936
entry 0x40080310
***ERROR*** A stack overflow in task c has been detected.
abort() was called at PC 0x4008a2e4 on core 0
Backtrace: 0x4008a0c8:0x3ffdad00 0x4008a2cb:0x3ffdad20 0x4008a2e4:0x3ffdad40 0x400872db:0x3ffdad60 0x40088a00:0x3ffdad80 0x400889b6:0xfefefefe
Rebooting...
(repeats)
I just got this program to play with it, but it doesn't work the first time.
Arduino version is 1.8.5. Not sure about ESP32 core version, but I downloaded that into Arduino/hardware manually. If I remember correctly, I downloaded it from the ESP32 Arduino core github.
You probably don't need this, but here are my upload settings:
Flash Mode: QIO
Flash Size: 4MB
Partition Scheme: Minimal (tried also with Default, same problem)
Flash Frequency: 80Mhz
PSRAM: Disabled
Upload Speed: 921600
Core Debug Level: None
I can't imagine there would be any recursive behavior or large stack allocations to cause this, so it seems pretty odd.
Unfortunately I just downloaded this and I have zero understanding of the code thus far.
Here is the zip I downloaded. The only modification I made was to the sketch name, just to make it more unique. I do not think that would be the problem though.
ESP32CompositeVideo-master.zip
Idea for the lunibox
No image on DVD car player screen
Hello,
I have no image on my DVD car player screen which has a composite input.
The FabGL library and ESP_8_BIT library both give me a correct output ("esp32-dali-clock" project works), but because I really enjoy the tutorials from your youtube channel I would like to stick to your library to develop projects on my esp32
I use latest version of arduino ide, and a esp32 devkit
I tried both PAL and NTSC, they both don't work.
Regards and thank you for all your work ! :)
Arduino 1.8.13 and 1.8.9 not compiling
Arduino: 1.8.9 (Linux), Board: "ESP32 Dev Module, Disabled, Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS), 240MHz (WiFi/BT), QIO, 80MHz, 4MB (32Mb), 921600, None"
In file included from /home/brad/ESP32CompositeVideo/CompositeVideo/CompositeVideo.ino:9:0:
/tmp/arduino_build_296062/sketch/Matrix.h:28:31: warning: type qualifiers ignored on function return type [-Wignored-qualifiers]
const float operator[](int i)
^
/home/brad/ESP32CompositeVideo/CompositeVideo/CompositeVideo.ino: In function 'void draw()':
/home/brad/ESP32CompositeVideo/CompositeVideo/CompositeVideo.ino:148:33: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
graphics.print("free memory: ");
^
/home/brad/ESP32CompositeVideo/CompositeVideo/CompositeVideo.ino:150:26: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
graphics.print(" fps: ");
^
/home/brad/ESP32CompositeVideo/CompositeVideo/CompositeVideo.ino:152:34: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
graphics.print(" triangles/s: ");
^
In file included from /home/brad/ESP32CompositeVideo/CompositeVideo/CompositeVideo.ino:11:0:
/tmp/arduino_build_296062/sketch/Mesh.h: In instantiation of 'Mesh::Mesh(int, const float ()[3], int, const short unsigned int ()[2], int, const short unsigned int ()[3], const float ()[3]) [with Graphics = CompositeGraphics]':
/home/brad/ESP32CompositeVideo/CompositeVideo/CompositeVideo.ino:40:141: required from here
Mesh.h:11:28: error: 'Mesh::vertices' will be initialized after [-Werror=reorder]
const float (*vertices)[3];
^
Mesh.h:10:7: error: 'int Mesh::edgeCount' [-Werror=reorder]
int edgeCount;
^
Mesh.h:18:3: error: when initialized here [-Werror=reorder]
Mesh(int vertCount, const float verts[][3], int edgeCount_ = 0, const unsigned short edges_[][2] = 0, int triCount = 0, const unsigned short tris[][3] = 0, const float triNorms[][3] = 0)
^
Mesh.h:16:34: error: 'Mesh::edges' will be initialized after [-Werror=reorder]
const unsigned short (*edges)[2];
^
Mesh.h:9:7: error: 'int Mesh::triangleCount' [-Werror=reorder]
int triangleCount;
^
Mesh.h:18:3: error: when initialized here [-Werror=reorder]
Mesh(int vertCount, const float verts[][3], int edgeCount_ = 0, const unsigned short edges_[][2] = 0, int triCount = 0, const unsigned short tris[][3] = 0, const float triNorms[][3] = 0)
^
Mesh.h:15:38: error: 'Mesh::triangles' will be initialized after [-Werror=reorder]
const unsigned short (triangles)[3];
^
Mesh.h:12:35: error: 'const float ( Mesh::triangleNormals)[3]' [-Werror=reorder]
const float (*triangleNormals)[3];
^
Mesh.h:18:3: error: when initialized here [-Werror=reorder]
Mesh(int vertCount, const float verts[][3], int edgeCount_ = 0, const unsigned short edges_[][2] = 0, int triCount = 0, const unsigned short tris[][3] = 0, const float triNorms[][3] = 0)
^
cc1plus: some warnings being treated as errors
exit status 1
'Mesh::vertices' will be initialized after [-Werror=reorder]
Error compiling in Platformio - ::vertices' will be initialized after [-Werror=reorder]
Small bug (PR fix on its way...) for initialisation order along the lines of:
lib/ESP32CompositeVideo-master/CompositeVideo/Mesh.h:30:28: error: 'Mesh<CompositeGraphics>::vertices' will be initialized after [-Werror=reorder]
Arduino 1.0 stable. Crashes
rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0018,len:4
load:0x3fff001c,len:952
load:0x40078000,len:6084
load:0x40080000,len:7936
entry 0x40080310
***ERROR*** A stack overflow in task c has been detected.
abort() was called at PC 0x400882a4 on core 0
Backtrace: 0x40088088:0x3ffdc9d0 0x4008828b:0x3ffdc9f0 0x400882a4:0x3ffdca10 0x4008529b:0x3ffdca30 0x400869c0:0x3ffdca50 0x40086976:0xfefefefe
Rebooting...
esp_pm.h: No such file or directory
esp_pm.h: No such file or directory
please help
progressive output instead of interlaced
The analog video standard can be "hacked", that instead of 480i/576i, 240p/288p image can be displayed. It works that instead of the image alternating between even/odd lines each frame, its always sent to even lines instead.
Could it this feature be added into this software? (Its currently running in 240p anyway, but the image is send as interlaced, so it flickers. the progresive mode could reduce the flickering a lot)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.