{"id":5532,"date":"2020-05-18T07:20:15","date_gmt":"2020-05-18T07:20:15","guid":{"rendered":"https:\/\/www.fambach.net\/?p=5532"},"modified":"2020-08-29T09:25:51","modified_gmt":"2020-08-29T09:25:51","slug":"ttgo-ts-v1-2-als-video-monitor-fur-mjpeg","status":"publish","type":"post","link":"https:\/\/www.fambach.net\/en\/ttgo-ts-v1-2-als-video-monitor-fur-mjpeg\/","title":{"rendered":"TTGO TS V1.2 as a video viewer for (M)Jpeg"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_85 ez-toc-wrap-left counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Contents\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewbox=\"0 0 24 24\" version=\"1.2\" baseprofile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.fambach.net\/en\/lilygo-t-beam\/#Fakten\" >Facts<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.fambach.net\/en\/lilygo-t-beam\/#Schaubild\" >Diagram<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.fambach.net\/en\/lilygo-t-beam\/#Schaltplan\" >Schematic<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.fambach.net\/en\/lilygo-t-beam\/#Pins\" >Pins<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.fambach.net\/en\/lilygo-t-beam\/#Anwendungsbereiche\" >Areas of application<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.fambach.net\/en\/lilygo-t-beam\/#Ansichten\" >Views<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.fambach.net\/en\/lilygo-t-beam\/#Programmierung\" >Programming<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.fambach.net\/en\/lilygo-t-beam\/#Bibliotheken\" >Libraries<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/www.fambach.net\/en\/lilygo-t-beam\/#Testprogramm\" >Test programme<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/www.fambach.net\/en\/lilygo-t-beam\/#Probleme\" >Problems<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/www.fambach.net\/en\/lilygo-t-beam\/#WiFI_verbindet_sich_nicht\" >WiFi not connecting<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/www.fambach.net\/en\/lilygo-t-beam\/#Sonstiges\" >Miscellaneous<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/www.fambach.net\/en\/lilygo-t-beam\/#Externe_Antennenanschluss_des_ESP_verwenden\" >Use the ESP's external antenna connector<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/www.fambach.net\/en\/lilygo-t-beam\/#Tolle_Projekte\" >Great projects<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/www.fambach.net\/en\/lilygo-t-beam\/#Gehause\" >Geh&auml;use<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-16\" href=\"https:\/\/www.fambach.net\/en\/lilygo-t-beam\/#TTGO-T-Beam-4cockpit\" >TTGO-T-Beam-4cockpit<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-17\" href=\"https:\/\/www.fambach.net\/en\/lilygo-t-beam\/#TTGO_T-Beam_v10_Enclosure\" >TTGO T-Beam v1.0 Enclosure<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-18\" href=\"https:\/\/www.fambach.net\/en\/lilygo-t-beam\/#TTGO_T-Beam_V11_NEO-6M_Meshtastic_Case\" >TTGO T-Beam V1.1 NEO-6M (Meshtastic) Case<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-19\" href=\"https:\/\/www.fambach.net\/en\/lilygo-t-beam\/#Nicht_selbst_gedruckt\" >Not self-printed<\/a><\/li><\/ul><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-20\" href=\"https:\/\/www.fambach.net\/en\/lilygo-t-beam\/#Fazit\" >Conclusion<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-21\" href=\"https:\/\/www.fambach.net\/en\/lilygo-t-beam\/#Verwandte_Beitrage\" >Verwandte Beitr&auml;ge<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-22\" href=\"https:\/\/www.fambach.net\/en\/lilygo-t-beam\/#Quellen\" >Sources<\/a><\/li><\/ul><\/nav><\/div>\n\n<p class=\"wp-block-paragraph\">Die erste Idee war es den MJPeg Stream der ESP 32 Kamera zu lesen und auf dem TTGO Display zu zeigen. Da ich eine Probleme mit der Umsetzung des MJpeg Protokolls hatte, habe ich mich f&uuml;r eine vereinfachte Variante entschieden und lese nun Schnappsch&uuml;sse von der Kamera aus. Dies hat den Vorteil immer wenn der TTGO bereit zur Verarbeitung ist bekommt er ein neues Bild.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Sehr geholfen und die Arbeit erleichter hat mir das folgende Projekt: <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/github.com\/moononournation\/M5Stack-Cam-Viewer\">https:\/\/github.com\/moononournation\/M5Stack-Cam-Viewer<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Components<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"https:\/\/www.fambach.net\/en\/esp32-cam-modul\/\">ESP 32 Cam<\/a><\/li><li>TTGO TS V1.2 als Viewer<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Anwendungsbereiche\"><\/span>Areas of application<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li>T&uuml;rspion<\/li><li>Mobiler Cam Viewer<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Ansichten\"><\/span>Views<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<figure class=\"wp-block-gallery columns-0 is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex\"><ul class=\"blocks-gallery-grid\"><li class=\"blocks-gallery-item\"><figure><a href=\"https:\/\/www.fambach.net\/wp-content\/uploads\/TtgoTsJPegViewer.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"996\" height=\"1298\" src=\"https:\/\/www.fambach.net\/wp-content\/uploads\/TtgoTsJPegViewer.jpg\" alt=\"JPeg Viewer\" data-id=\"5540\" data-full-url=\"https:\/\/www.fambach.net\/wp-content\/uploads\/TtgoTsJPegViewer.jpg\" data-link=\"https:\/\/www.fambach.net\/?attachment_id=5540\" class=\"wp-image-5540\"><\/a><figcaption class=\"blocks-gallery-item__caption\">JPeg Viewer<\/figcaption><\/figure><\/li><\/ul><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Programmierung\"><\/span>Programming<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Bibliotheken\"><\/span>Libraries<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">Display<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Adafruit liefert die Display Bibliothek<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/github.com\/adafruit\/Adafruit-GFX-Library\">https:\/\/github.com\/adafruit\/Adafruit-GFX-Library<\/a><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"785\" height=\"444\" src=\"https:\/\/www.fambach.net\/wp-content\/uploads\/MJpegVideoViewerJpegGFXInstall.jpg\" alt=\"\" class=\"wp-image-5538\"><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/github.com\/adafruit\/Adafruit-ST7735-Library\">https:\/\/github.com\/adafruit\/Adafruit-ST7735-Library<\/a><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"782\" height=\"439\" src=\"https:\/\/www.fambach.net\/wp-content\/uploads\/MJpegVideoViewerJpegST7735Install.jpg\" alt=\"\" class=\"wp-image-5539\"><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">JPeg decoder<\/h4>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"789\" height=\"442\" src=\"https:\/\/www.fambach.net\/wp-content\/uploads\/MJpegVideoViewerJpegDecoderLibInstall.jpg\" alt=\"\" class=\"wp-image-5534\"><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/github.com\/Bodmer\/JPEGDecoder\">https:\/\/github.com\/Bodmer\/JPEGDecoder<\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Programme<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Das Programm findet ihr auf Github.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/github.com\/sfambach\/esp32\/tree\/master\/project\/TtgoTsJPegViewer\">https:\/\/github.com\/sfambach\/esp32\/tree\/master\/project\/TtgoTsJPegViewer<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/minhaskamal.github.io\/DownGit\/#\/home?url=https:\/\/github.com\/sfambach\/esp32\/tree\/master\/project\/TtgoTsJPegViewer\">Zum Downloaden als Zip<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In der Datei secrets.h m&uuml;ssen die WLAN Verbindung und die entsprechenden URL Teile angegeben werden:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>const char* SSID =  \"TEST\";\nconst char* PASSWORD = \"TEST123456789\";\nconst char* host = \"192.168.1.66\";\nconst char* site = \"\/capture\";\nconst int port = 80;<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Probleme\"><\/span>Problems<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Zu Langsam<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Die Darstellung ist sehr langsam max 3-4 Bilder Pro Sekunde.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ein Vorschlag w&auml;re es die JPEG Codierung weg zu lassen und bitmaps zu &uuml;bertragen. Hier m&uuml;sste dann aber auch das Kameraprogramm entsprechend angepasst werden.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Fazit\"><\/span>Conclusion<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Es geht ist aber sehr langsam \ud83d\ude09<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Verwandte_Beitrage\"><\/span>Verwandte Beitr&auml;ge<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n<ul class=\"display-posts-listing\">\n<li class=\"listing-item\"><a class=\"title\" href=\"https:\/\/www.fambach.net\/en\/esp32-c3-seeed-studio-xiao\/\">ESP32-C3 Seeed Studio XIAO<\/a><\/li>\n<li class=\"listing-item\"><a class=\"title\" href=\"https:\/\/www.fambach.net\/en\/esp32-c3-super-mini-board\/\">ESP32-C3 Super Mini Board<\/a><\/li>\n<li class=\"listing-item\"><a class=\"title\" href=\"https:\/\/www.fambach.net\/en\/preview-luatos-esp32-c3-board\/\">Preview \u2013 LuatOS ESP32-C3 Board<\/a><\/li>\n<li class=\"listing-item\"><a class=\"title\" href=\"https:\/\/www.fambach.net\/en\/esp32-bluetooth-gamepad-2\/\">ESP32 Bluetooth Gamepad<\/a><\/li>\n<li class=\"listing-item\"><a class=\"title\" href=\"https:\/\/www.fambach.net\/en\/esp8266-32-wifi-manager\/\">ESP8266\/32 WiFi Manager.<\/a><\/li>\n<li class=\"listing-item\"><a class=\"title\" href=\"https:\/\/www.fambach.net\/en\/preview-esp32-io-schild-fuer-arduino-esp32-wroom-core-board\/\">Preview \u2013 ESP32 IO Shield for Arduino ESP32 Wroom Core Board<\/a><\/li>\n<li class=\"listing-item\"><a class=\"title\" href=\"https:\/\/www.fambach.net\/en\/preview-esp-wroom-32-rev1-steckbrett-adapterplatine\/\">Preview \u2013 ESP-WROOM-32 Rev1 Breadboard Adapter Board\u00a0<\/a><\/li>\n<li class=\"listing-item\"><a class=\"title\" href=\"https:\/\/www.fambach.net\/en\/preview-7x9cm-prototyp-platine-zum-loeten-fuer-esp8266-esp-12e-esp-12f-esp32\/\">Preview \u2013 7x9CM Prototyping Soldering Board for ESP8266, ESP-12E, ESP-12F, ESP32<\/a><\/li>\n<li class=\"listing-item\"><a class=\"title\" href=\"https:\/\/www.fambach.net\/en\/preview-esp32-audio-kit-esp32\/\">Preview \u2013 ESP32-Audio-Kit ESP32<\/a><\/li>\n<li class=\"listing-item\"><a class=\"title\" href=\"https:\/\/www.fambach.net\/en\/lilygo-t-beam\/\">LilyGo T-Beam<\/a><\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Quellen\"><\/span>Sources<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/github.com\/Bodmer\/JPEGDecoder\">https:\/\/github.com\/Bodmer\/JPEGDecoder<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/github.com\/adafruit\/Adafruit-GFX-Library\">https:\/\/github.com\/adafruit\/Adafruit-GFX-Library<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/github.com\/adafruit\/Adafruit-ST7735-Library\">https:\/\/github.com\/adafruit\/Adafruit-ST7735-Library<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/github.com\/espressif\/esp32-camera\">https:\/\/github.com\/espressif\/esp32-camera<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/github.com\/igrr\/esp32-cam-demo\">https:\/\/github.com\/igrr\/esp32-cam-demo<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/github.com\/moononournation\/M5Stack-Cam-Viewer\">https:\/\/github.com\/moononournation\/M5Stack-Cam-Viewer<\/a><\/p>","protected":false},"excerpt":{"rendered":"<p>Die erste Idee war es den MJPeg Stream der ESP 32 Kamera zu lesen und auf dem TTGO Display zu zeigen. Da ich eine Probleme mit der Umsetzung des MJpeg Protokolls hatte, habe ich mich f&uuml;r eine vereinfachte Variante entschieden und lese nun Schnappsch&uuml;sse von der Kamera aus. Dies hat den Vorteil immer wenn der &#8230;<\/p>\n<a href=\"https:\/\/www.fambach.net\/en\/ttgo-lora32-oled-v1\/\" class=\"read-more-link\">Carry on reading <span class=\"screen-reader-text\">\"TTGO LORA32 OLED V1\"<\/span> <span class=\"meta-nav\">\u2192<\/span><\/a>","protected":false},"author":1,"featured_media":5541,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_lmt_disableupdate":"","_lmt_disable":"","footnotes":""},"categories":[157],"tags":[156,148,244,298,297,296,299],"class_list":["post-5532","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-atnrob","tag-cam","tag-esp32","tag-esp32cam","tag-jpeg","tag-ts","tag-ttgo","tag-viewer","penguin-post","penguin-post-not-sticky"],"modified_by":"sfambach","_links":{"self":[{"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/posts\/5532","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/comments?post=5532"}],"version-history":[{"count":6,"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/posts\/5532\/revisions"}],"predecessor-version":[{"id":8194,"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/posts\/5532\/revisions\/8194"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/media\/5541"}],"wp:attachment":[{"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/media?parent=5532"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/categories?post=5532"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/tags?post=5532"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}