Posts

Alpine with LEMP

Image
ทำ Lightweight Web Containerก่อนหน้านี้ทำ web server container ไว้อันหนึ่ง (ทีม Dev ถนัด Ubuntu) ใช้ Ubuntu + Nginx + PHP7 + FFmpeg + bower + node.js + และอื่นๆอีกเล็กน้อย ได้ขนาดของ container เกือบ 600 MB... ใหญ่มากๆ

จึงเป็นที่มาของการทำ container ที่บางเบากว่าเดิม แต่ประสิทธิภาพไม่ลดลงที่สำคัญ ต้องไม่ไปกระทบ code เดิม หรือไปทำให้ทีมงานต้องลำบาก แน่นอนว่า Distro ขนาดเล็กอย่าง #Alpine จึงเป็นตัวเลือกแรกๆ  ใน website ของ Alpine คุยไว้ว่า มีขนาด ไม่เกิน 5 MB 8MB แต่พอดึงลงมาดู พบว่า มีขนาดเพียงแค่ 3.99 MB เท่านั้น



ลองเปรียบเทียบขนาด Linux container ของแต่ล่ะ Distro


DistroContainer sizeCentOS193 MBUbuntu117 MBPhoton128 MBDebian124 MBBusybox1.11 MBAlpine3.99 MB
จะเห็นว่า Busybox มีขนาดเล็กที่สุด ผมมักจะเห็น Busybox ถูกใช้อุปกรณ์ขนาดเล็ก ที่มี resource จำกัด เช่นพวก embedded hardware, router, hub, Wireless AP ขนาดเล็ก

Alpine ถูกพัฒนาเพิ่มเติม โดยใช้พื้นฐานจาก busybox มี package manager ที่ใช้งานง่ายอย่าง apk

ทั้ง Apache และ Nginx ต่างก็มี container ที่ใช้ Alpine โดย
Container ของ Apache มีขนาด …

Welcome AOMedia Video 1 (AV1)

Image
ผมคิดว่า #HEVC ไปได้ช้า ส่วนหนึ่งเพราะมีการเก็บ license (กรณีการนำไปใช้กับสื่อ physical, ระบบตอบรับสมาชิก และระบบเก็บเงินก่อนรับชม) ผู้ผลิต 4K TV ต้องจ่าย $1.5 USD ต่อเครื่อง หรือโทรศัพท์ ที่ $0.8 USD ต่อเครื่อง...

รวมๆ แล้วผู้ผลิตมือถือยี่ห้อหนึ่ง จ่าย $50 ล้าน USD ต่อปี นี่เสือนอนกินเลยนะ แบบนี้ไงจึงถูกต้าน และนำไปสู่ การจัดตั้งกลุ่ม #AOMedia (Alliance for Open Media)

สมาชิกในกลุ่ม AOMedia คุ้นตาทั้งนั้น ยกตัวอย่างเช่น #google#amazon #IBM#netflix #microsoft #cisco #polycom #videolan #ateme #arm #amd #nvidia#realtek มีครบทั้งสาย software, hardware, service

ตัวหลักอย่าง #Google เอา VP9 ไป optimize (เรียกว่า #VP10) ร่วมกับทาง #cisco (#Thor) และ #Mozilla (#Daala) กลายมาเป็น AOMedia Video 1 หรือเรียกสั้นๆว่า #AV1

สำหรับ #VP9 ก็อยู่ไม่นาน เช่นกัน ท้ายที่สุด จะนำไปสู่การใช้กับอุปกรณ์ที่ไม่ support AV1

Browser ใหม่ๆ เกือบทุกตัว (ยกเว้น Safari) เล่น VP9 ได้ เมื่อเล่น VP9 ได้ ก็เล่น AV1 ได้

AV1 ยื่นเป็น video standard ของ #IETF ส่วน HEVC เป็น standard ของ #ITU ที่ตลกคือ ไอ้ 2 หน่วยงานนี้ไม่ถูกกัน (…

Wirecast 7.6 released

Image
Wirecast 7.6Fixes and EnhancementsNew! Capture NewTek NDITM sources!Fixed RSS feeds not working properly in the Text widgetFixed a crash occurring as a result of using a large number of CEF sources (i.e. Titles)Fixed an issue where Toggle Broadcast for Periscope was grayed outChanged Periscope API for “Should Tweet” to “Should Not Tweet”Fixed a crash that could occur when a YouTube Event ended by closing an unsaved documentFixed an issue where a Facebook stream would restart after Stream Delay time has elapsedFixed an issue where the cursor exits the Places field after each key stroke in the Facebook destinationAdded a better error message if Facebook prevents creating a stream due to broadcasting copyrighted materialAdded more encoder presets for Facebook destinationDisplay settings for previously scheduled Facebook eventsFixed an issue where deleting an encoder from Periscope’s dashboard would break authentication until restarting WirecastFixed issues when performing Smooth transiti…

Wowza Streaming Engine 4.7.0 (build 20186) released!

Image
What's New
Alibaba Cloud support Stream Target Workflow Improvements MPEG-DASH Ingress and Egress over HTTP with Akamai Stream Target Wowza Player for VOD Edge Applications 



Change logs

Added Wowza CDN stream target Fixed Akamai HLS stream target so that when cupertino.renditions is set to audioonly but cupertinoCreateAudioOnlyRendition is set to false, the original source stream is pushed if it's audio-only Fixed applehls MediaCaster so that configured stream targets are triggered correctly Added Wowza Player to vodedge application type to support Media Cache configurations Fixed restart message in Wowza Streaming Engine Manager when saving Media Cache store or source configurations Fixed MPEGDASH manifest to correctly indicate channel configuration when the number of channels > 2 for AAC audio Fixed Transcoder NVCUVID/CUDA accelerated decoding issue that caused shaky playback of streams with 3 or more B-frames (increased internal frame maximum from 8 to 16) Fixed detection …

Windows 10 Redstone 2 Creators update

Image
#Windows 10 #Redstone 2 Creators update. It is Big Windows version update, some feature removed and deprecated. i.e. #Flash will not auto run on #Edge.
Some new features
new start menu, new microsoft edge, game mode (For #Livestreaming), Windows Security Center, Paint 3D, Night Light, #Spatial sound

Windows will have 2 updates each year, SoRedstone 3 will release around Fall 2017, (may be September)

After update, I not face any issue (at least for now.... LoL)

Try Facebook Audio360

Image
I try Facebook VR 360 with spatial audio (#Audio360). Using Facebook's 360 Spatial Workstation. New release (2.0 beta 2) just release last week. Not stable as expect (It's beta). I face some crashes, but overall is working fine. 








Source 4. เพลง How Long with I love you จะได้ยินเสียงเพลงนี้เป็นเพลงแรก ต้นกำหนดเสียงอยู่ที่ notebook อยู่ใกล้มากSource 2 เพลง Endless Rain จากอีกาดำ ตำแหน่งเสียงอยู่ที่ป้าย Airbond (จุดนี้ไปตีกับ source 4 พอดี เสียงทับกัน แยกลำบากหน่อย)Source 1 เพลง What's up จากอีกาดำ ตำแหน่งเสียงอยู่ที่ชั้นวางของด้านล่าง (ด้านซ้ายของประตู)

**(มุม source 1 นี้จะได้ประสบการณ์เสียงได้ดีสุด ลองหันซ้ายหันขวา จากตำแหน่งนี้)**Source 3 เพลง Set Fire To The Rain จากหน้ากากทุเรียน ตำแหน่งเสียงอยู่ใกล้หน่อย ตรงนาฬากาหลังห้อง





#VR #VisualReality #Facebook #Spatial #Audio #ThaiLivestream #AIRBONDstore #Dootvmedia #Broadcast #Solutions

Haproxy Load Balance with 500 web servers

Image

Haproxy Load Balance with 250 web servers

Image
#Haproxy Load Balance with 250 web servers
(Use #Docker container on 3 Node clusters). Each web server use Alpine + Nginx + PHP7, no cache. Just wonder if ha-proxy performance is not really good. However I have not networking tune yet, I hope it better and also need try more or compare with Nginx

One reason that I use HA-Proxy is.... It have realtime report and monitoring.

Try webassembly

Image
ตอนแรกจะลอง ports เอา cu writer (เวิร์ดจุฬา) มาวิ่งผ่าน Web Browser แต่นึกขึ้นได้ว่า cu writer วิ่งอยู่บน DOS งั้นลอง ports DOS แล้วเอามาลง cu writer น่าจะได้นะ เมื่อ ports DOS มาได้ Windows 3.11, Windows 95 และเกมส์บน DOS ก็น่าจะได้เหมือนกัน



แต่ว่า #DOS นั้นเป็นของลิขสิทธิ์ Microsoft, ต่อมา IBM พัฒนาโปรแกรมจำลอง DOS อีกที เรียกว่า #DOSBox และปล่อยเป็น GPL เลยเอา dosbox เนี่ยแหล่ะ มา compile ได้ output ขนาดใหญ่กว่า 26 MB, แต่ไฟล์ที่น่าสนใจคือ dosbox.js มีขนาด 5.3 MB และ dosbox.html.mem ที่ขนาด 309 KB


ดัวอย่างไฟล์ dosbox.js



ตัวอย่างหน้าจอ edit.com เป็นโปรแกรมแก้ไขข้อความ


ตัวอย่างโปรแกรม GW-BASIC เป็นโปรแกรมสำหรับเอาเขียนภาษา BASIC


ตัวอย่างโปรแกรม CU Writer  โปรแกรมพิมพ์เอกสารยอดนิยม




เพิ่งรู้จัก #jsdosbox ทำเหมือนกันเลย แต่เข้าใจว่าเป็น JavaScript bytecode ส่วนผม port มาทั้งสองแบบ ทั้งที่เป็น js และ wasm  ไฟล์มีความต่างกันดังนี้

Javascript
 - dosbox.js 5.3MB

WebAssembly
 - dosbox.js 578KB
 - dosbox.o 70KB  (binary)
 - dosbox.wasm 3MB (binary)

ประโยชน์ของมัน
สามารถ port เอา C/C++ หรือภาษาอื่นๆ (ที่จะม…

RTMP Low-Latency

Image
Although WebRTC is great fow low-latency (300 - 500ms). It have some limitation of audio quality. 30 Khz is good for voice or speech conference, but not for music quality grade. So may be RTMP still work for now. 1 second of delay is acceptable.

I I record on mobile phone, also I should use time meter but I have no time. sorry for that.

How to srs - v2_EN_LowLatencynanocosmos - low latencyHow to set up low latency applications in Wowza Streaming Engine for RTMP streaming
keyword: RTMP, Livestream, Low delay, Low latency

docker - could not read CA certificate

Docker ENV issue

I face docker ca issue while I try to set docker env. If you try to setup DOCKER_TLS_VERIFY or DOCKER_CERT_PATH and something wrong. May you can run docker even remove and re-install the docker. Below error message will display

could not read CA certificate

could not read CA certificate "/root/.docker/ca.pem": open /root/.docker/ca.pem: no such file or directory

The issue can fix by

unset ${!DOCKER*}

Reference
https://docs.docker.com/machine/reference/env/

VR/360 Live record

Image
I testing VR/360 Livestreaming. some of my rigs.
6xGopro6xHDMI capture cardfreedom360's mountsHigh performance laptopVahana VRread more
Virtual reality live streaming on Azure Media ServicesHow to Live Stream 360-degree videos (Vahana VR)Virtual Reality and 360-degree Live Streaming with Wowza
If you interested the VR/360 solutions, i.e. live concert, sports, auto racing, online commercial AD. Please contact #Thailivestream

open source Video transcoder project

Image

Chat bot platform lists

Image
Chat bot platform lists Flow XOChatfuelManychatBotsifyMeya - free 500/moapi.aiwit.aimicrosoft bot frameworkonsequelsmooch.io - free 2500/momsg.aifacebook Messenger Platformbeepboophqbotkitinit.aiI have try few bot. Seem chatfuel is very simple.









and more http://www.hongkiat.com/blog/tools-to-build-chatbots/

Make bootable usb on Linux (dell bios/firmware upgrade)

Image
1. use lsusb, lsblk to check USB device

2. use gparted to prepare thumbdrive as FAT32 and FORMAT



3. use unetbootin to write .iso (May you need to mount /dev/sdbX)

If you see below warning dialor. You need to mount .i.e.  mount /dev/sdb1 /mnt/sdb1