Posts

What's new on Wowza Streaming Engine 4.7.0.01 and 4.7.0.02

Image
4.7.0.02 Build 20446 (Most fixed on WebRTC, Wowza-CDN)
Added H264 WebRTC constraints override properties. These should only be used when WebRTC is being usedAdded Application/RTP property rtpForceH264Constraint (Boolean, default=false) to override the constraints value for H264Added Application/RTP property rtpForceH264ConstraintValue (Integer, default=192) to set the override constraint value. Only the top 4 bits MUST be setImproved RTSP/RTP playback to properly handle Streams/Properties instanceOn and instantOnBufferTimeFixes several issues with PushPublishManager API interaction with PushPublish module in the area of adding and deleting targetsFixed bad xml in Akamai DASH manifest for audio AdaptionSet with DRMAdded default Sample Frequency (8000) for PCM audio when creating SDP entriesFixed Application/RTP property rtpForceH264Constraint so it can be set independently to rtpUseLowestH264Constraint and rtpUseHighestH264ConstraintFixed destination stream name generation for wowza-cdn…

sysctl.conf (High performance config)

Credit: Dom Charoenyos, https://pastebin.com/h5iEuiPz
# # /etc/sysctl.conf - Configuration file for setting system variables # See /etc/sysctl.d/ for additional system variables. # See sysctl.conf (5) for information. #
#kernel.domainname = example.com
# Uncomment the following to stop low-level messages on console #kernel.printk = 3 4 1 3
##############################################################3 # Functions previously found in netbase #
# Uncomment the next two lines to enable Spoof protection (reverse-path filter) # Turn on Source Address Verification in all interfaces to # prevent some spoofing attacks

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…