August 18, 2018

เห็นเรื่อง #chatbot หลายครั้ง พูดถึงซะหน่อย


ผมเคยได้ยินว่า "ไม่มีใครอยากคุย หรือซื้อของกับ Bot" ผมยังคิดว่า ถ้ามี user ต้องการสอบถามข้อมูล เพื่อให้ได้ข้อมูลตามที่ต้องการ เขาจะยอมคุยกับ chatbot ไหม 

ทำไมต้องคุยกับ bot 

  • เคยชิน - ก็ chat ไง skype, line ก็พิมพ์คุยใช่ไหม 
  • ความเป็นส่วนตัว - เคยไหม เวลาซื้อของ ไม่ชอบให้คนขายเดิมตาม คุยกับ bot จะกวนตีนยังไงก็ได้ ก็ไม่เหวี่ยง 
  • เร็ว - ถามปุ๊บ ตอบปั๊บ ถูกไม่ถูกอีกเรื่อง 
  • ทำงานตลอด 24/7 - ถ้าตอบไม่ได้ ส่งให้คนตอบ หรือติดต่อกลับภายหลังก็ได้ เป็นการกรองไปในตัว 
  • บริการตัวเอง (safe service) - ตาม trends ในยุคนี้ ถ้ามีระบบที่ user สามารถทำได้ตัวเองได้ เขาก็ใช้ไง นึกถึงตู้ธนาคารอัตโนมัติ หรือสนามบินชางฮี ที่แทบไม่ใช้คนเลย (ออกตั๋ว, ติดป้ายกระเป๋า, ยกกระเป๋าโหลดลงเครื่อง บริการตัวเองหมด) 



Bot ก็คือ Bot ย่อมมีการกำหนดทางเดิน (Funnels design) ที่ชัดเจน จริงๆ แล้วไม่เห็นแปลกอะไร ระบบหลายๆอย่าง ก็อยู่ในกรอบทางเดินเหล่านี้ ยกตัวอย่างเช่น #IVR (Interactive voice response) สำหรับคนที่นึกไม่ออก ก็เช่นเวลาโทรเข้าสำนักงาน ซื้อของ หรือธนาคาร จะต้องทำ interact (ส่งสัญญาณ #DTMF) ด้วยการ กด 1 ติดต่อแผนกนั้น กด 2 เพื่อใส่รหัส แล้วตามด้วยเครื่องหมายสี่เหลี่ยม เป็นต้น



สำหรับ Chatbot ตอนแรกนั้นมันถูกออกแบบมาสำหรับการตอบแบบสอบถามทางจิตวิทยา จึงสามารถโต้ตอบด้วยข้อความได้ แบบตรงไปตรงมา และด้วยความที่ทื่อๆไป จึงมีการพัฒนาให้ bot แสดงความรู้สึก การตอบโต้ที่ดูเป็นธรรมชาติ เหมือนคุยกับคน และเรียกว่า Chatbot

วิธีการคือ เอา #AI (Artificial Intelligence) + #NLP (Natural Language Processing) มี bot อยู่หลายๆตัว ตอนหลัง pattern matching ถูกเก็บเป็นรูปแบบ XML กลายเป็นภาษาหนึ่ง เรียกว่า #AIML (Artificial Intelligence Markup Language) เพิ่งจะมาเกิด ตอนปี 2001 นี่เอง


สำหรับคนที่อ่านถึงตรงนี้ คนแถวนี้อาจบอกว่าก็ไม่เห็นใหม่เลย มันก็มีมานานแล้ว ใช่ครับ.... คุณกำลังคิดถึง #IRC และ #alice #elizabeth สินะ LoL


จากระบบ IVR ได้มีการพัฒนาจากการรับรู้เสียง DTMF ไปเป็นรูปแบบ การโต้ตอบด้วยเสียงพูด ด้วยการเอา #ASR (Automatic Speech Recognition) มาร่วมกับ IVR ยกตัวอย่างผู้ให้บริการเช่น #truevoice เราสามารถโต้ตอบด้วยเสียงพูด แทนที่จะมากดปุ่ม เช่น คุณต้องการต่อแผนกใด เราสามารถเลือกตอบได้หลายรูปแบบ เช่น "ฝ่ายขาย", "Sales", "แผนกขาย"


ปัจจุบัน เราเอา IVR + Video กลายมาเป็นเทคโนโลยีที่เรียกว่า #IVVR (Interactive Voice and Video Response) Web Browser เกือบทุกตัว สามารถเชื่อมกล้อง (จากโทรศํพท์ หรือ webcam) ลองคิดดูสิว่า แค่เชื่อมต่อ ยังไม่ทันถามอะไร Bot มันรู้ก่อนเลยว่า คนที่ติดต่อเข้ามา เพศอะไร อายุประมาณเท่าไหร่ เด็กหรือผู้ใหญ่ สีผิวอะไร วิเคราะห์อารมณ์จากการแสดงออกทางใบหน้า วิเคราะห์การกระทำจากลักษณะท่าทาง หรือแม้แต่ รู้ได้เลยว่าเป็นใคร ชื่ออะไร หากเคยมีบันทึกอยู่ในระบบ


Bot ที่ว่าโง่ๆ นั้น จะเริ่มเก่งขึ้นเรื่อยๆ ด้วย Artificial Intelligence, Machine Learning, Deep Learning สุดท้ายมันก็คุยกับเราได้ทั้งในรูปแบบ ข้อความ (#chatbot), เสียง (IVR) และทั้งภาพและเสียง (IVVR)




ทั้งหมดนี้ เป็นภาพที่ผมเห็นเมื่อหลายปีก่อน พอมาตอนนี้กลับไม่เห็น



February 6, 2018

Macbook Pro - GPU panic fix


Macbook Pro (2013) Can't Boot. I face these issue

  • black screen, can't boot
  • unexpect shutdown or restart

I found the problem may from GPU (macos gpu panic). If you face the issue, 
Please clear clear NVRAM or SMC then Disable auto switch GPU and install software gfxCardStatus to force to use integrated only (Intel HD Graphic).


Clear NVRAM (from https://goo.gl/VL5cV6)

  1. Shut down your Mac.
  2. Press the power button, and as soon as you hear the startup chime, hold down Command-Option-P-R.
  3. Keep holding down those keys until you hear a second startup chime. Then let go and allow your Mac to continue starting normally.
  4. Then check the Startup Disk, Display, and Date & Time panes of System Preferences to make sure they’re set the way you want them.


Clear SMC (from https://goo.gl/Jbqj7z)


  1. Choose Apple menu > Shut Down.
  2. After your Mac shuts down, press Shift-Control-Option on the left side of the built-in keyboard, then press the power button at the same time. Hold these keys and the power button for 10 seconds.
  3. If you have a MacBook Pro with Touch ID, the Touch ID button is also the power button.
  4. Release all keys.
  5. Press the power button again to turn on your Mac.
Anonymous UUID:       F0E84E8F-A423-F584-3968-C85DE6F864B1

Tue Feb  6 09:20:29 2018

*** Panic Report ***
panic(cpu 0 caller 0xffffff7f846339e9): "GPU Panic: mux-regs 4 0 a0 d9 9 8 severity 3 WS-ready 1 switch-state 0 IG FBs 1 EG FBs 0:f power-state 0 3D idle HDA idle : NVRM[0/1:0:0]: Read Error 0x00000144: CFG 0xffffffff 0xffffffff 0xffffffff, BAR0 0xc0000000 0xffffff91f6f9d000 0x0e7150a2, D0, P0/4\n"@/BuildRoot/Library/Caches/com.apple.xbs/Sources/AppleGraphicsControl/AppleGraphicsControl-3.16.21/src/AppleMuxControl/kext/GPUPanic.cpp:162
Backtrace (CPU 0), Frame : Return Address
0xffffff81c1a30970 : 0xffffff8002e4f606 
0xffffff81c1a309c0 : 0xffffff8002f7c654 
0xffffff81c1a30a00 : 0xffffff8002f6e149 
0xffffff81c1a30a80 : 0xffffff8002e01120 
0xffffff81c1a30aa0 : 0xffffff8002e4f03c 
0xffffff81c1a30bd0 : 0xffffff8002e4edbc 
0xffffff81c1a30c30 : 0xffffff7f846339e9 
0xffffff81c1a30c90 : 0xffffff7f83ae467e 
0xffffff81c1a30d50 : 0xffffff7f83bb65be 
0xffffff81c1a30db0 : 0xffffff7f85c85223 
0xffffff81c1a30de0 : 0xffffff7f83aeb1df 
0xffffff81c1a30e90 : 0xffffff7f83a7c2ed 
0xffffff81c1a30eb0 : 0xffffff8003494870 
0xffffff81c1a30ef0 : 0xffffff7f836b2b34 
0xffffff81c1a30f40 : 0xffffff7f85986c1a 
0xffffff81c1a30f50 : 0xffffff7f8598fb4d 
0xffffff81c1a30f70 : 0xffffff8002f6d863 
0xffffff81c1a30fd0 : 0xffffff8002e012d6 
0xffffff91f35e3f30 : 0xffffff8002e6dc52 
0xffffff91f35e3f80 : 0xffffff8002e6e220 
0xffffff91f35e3fa0 : 0xffffff8002e004f7 
      Kernel Extensions in backtrace:
         com.apple.iokit.IOPCIFamily(2.9)[8E6C654E-4A8F-3C6B-BBFE-BA8A68C9C146]@0xffffff7f83694000->0xffffff7f836c8fff
         com.apple.driver.AppleACPIPlatform(6.1)[1804645B-B360-305E-B1BE-916F5E3E1CC4]@0xffffff7f8597f000->0xffffff7f85a1afff
            dependency: com.apple.iokit.IOACPIFamily(1.4)[8794C760-FDD9-3664-ADED-4A9BBEC6E517]@0xffffff7f8417f000
            dependency: com.apple.driver.AppleSMCRTC(1.0)[3F01C7A4-754F-39DD-A872-B4FAF0442276]@0xffffff7f858e4000
            dependency: com.apple.iokit.IOPCIFamily(2.9)[8E6C654E-4A8F-3C6B-BBFE-BA8A68C9C146]@0xffffff7f83694000
            dependency: com.apple.driver.AppleSMC(3.1.9)[259F0A4B-0AAB-30F3-8896-629A102CBD70]@0xffffff7f84188000
         com.apple.driver.AppleMuxControl(3.16.21)[B4DB1D7A-D4DE-3965-94DC-05CE8B9F2802]@0xffffff7f84625000->0xffffff7f84637fff
            dependency: com.apple.driver.AppleGraphicsControl(3.16.21)[2EB9A384-439B-3BDC-927C-34E390CB0E59]@0xffffff7f845ef000
            dependency: com.apple.iokit.IOACPIFamily(1.4)[8794C760-FDD9-3664-ADED-4A9BBEC6E517]@0xffffff7f8417f000
            dependency: com.apple.iokit.IOPCIFamily(2.9)[8E6C654E-4A8F-3C6B-BBFE-BA8A68C9C146]@0xffffff7f83694000
            dependency: com.apple.iokit.IOGraphicsFamily(517.22)[2AEA02BF-2A38-3674-A187-E5F610FD65B7]@0xffffff7f83a04000
            dependency: com.apple.AppleGraphicsDeviceControl(3.16.21)[F8503E88-24EF-3DBA-A4D6-FA1CE4C47427]@0xffffff7f83a68000
         com.apple.nvidia.driver.NVDAResman(10.2.8)[39AC3832-2295-3B7B-85F6-F69D66D46EC7]@0xffffff7f83a75000->0xffffff7f83d5afff
            dependency: com.apple.iokit.IOPCIFamily(2.9)[8E6C654E-4A8F-3C6B-BBFE-BA8A68C9C146]@0xffffff7f83694000
            dependency: com.apple.iokit.IONDRVSupport(517.22)[5672A7EF-44E8-3897-90DE-DAF4C1488143]@0xffffff7f83a58000
            dependency: com.apple.iokit.IOGraphicsFamily(517.22)[2AEA02BF-2A38-3674-A187-E5F610FD65B7]@0xffffff7f83a04000
            dependency: com.apple.AppleGraphicsDeviceControl(3.16.21)[F8503E88-24EF-3DBA-A4D6-FA1CE4C47427]@0xffffff7f83a68000
         com.apple.nvidia.driver.NVDAGK100Hal(10.2.8)[7064CB37-CB6D-34F7-974D-DD12944BD354]@0xffffff7f85b88000->0xffffff7f85d3afff
            dependency: com.apple.nvidia.driver.NVDAResman(10.2.8)[39AC3832-2295-3B7B-85F6-F69D66D46EC7]@0xffffff7f83a75000
            dependency: com.apple.iokit.IOPCIFamily(2.9)[8E6C654E-4A8F-3C6B-BBFE-BA8A68C9C146]@0xffffff7f83694000

BSD process name corresponding to current thread: kernel_task

Mac OS version:
17D47

Kernel version:
Darwin Kernel Version 17.4.0: Sun Dec 17 09:19:54 PST 2017; root:xnu-4570.41.2~1/RELEASE_X86_64
Kernel UUID: 18D901F1-4A03-3FF1-AE34-C26B2732F13C
Kernel slide:     0x0000000002a00000
Kernel text base: 0xffffff8002c00000
__HIB  text base: 0xffffff8002b00000
System model name: MacBookPro10,1 (Mac-C3EC7CD22292981F)

System uptime in nanoseconds: 65150496546
last loaded kext at 35716795976: com.apple.driver.AudioAUUC 1.70 (addr 0xffffff7f8643b000, size 32768)
loaded kexts:
com.apple.driver.AudioAUUC 1.70
com.apple.driver.AppleHWSensor 1.9.5d0
com.apple.driver.AGPM 110.23.30
com.apple.driver.ApplePlatformEnabler 2.7.0d0
com.apple.driver.X86PlatformShim 1.0.0
com.apple.filesystems.autofs 3.0
com.apple.driver.AppleMikeyHIDDriver 131
com.apple.driver.AppleMikeyDriver 280.12
com.apple.driver.AppleGraphicsDevicePolicy 3.16.21
com.apple.AGDCPluginDisplayMetrics 3.16.2
com.apple.driver.AppleHDAHardwareConfigDriver 280.12
com.apple.driver.AppleHDA 280.12
com.apple.driver.AppleHV 1
com.apple.iokit.IOUserEthernet 1.0.1
com.apple.driver.AppleUpstreamUserClient 3.6.4
com.apple.iokit.IOBluetoothSerialManager 6.0.2f2
com.apple.driver.pmtelemetry 1
com.apple.GeForce 10.2.8
com.apple.driver.AGDCBacklightControl 3.16.2
com.apple.Dont_Steal_Mac_OS_X 7.0.0
com.apple.driver.eficheck 1
com.apple.driver.AppleIntelHD4000Graphics 10.3.0
com.apple.driver.AppleBacklight 170.10.2
com.apple.driver.AppleLPC 3.1
com.apple.driver.AppleOSXWatchdog 1
com.apple.driver.AppleThunderboltIP 3.1.1
com.apple.driver.AppleSMCPDRC 1.0.0
com.apple.driver.AppleSMCLMU 211
com.apple.driver.AppleMCCSControl 1.5.3
com.apple.driver.AppleMuxControl 3.16.21
com.apple.driver.ACPI_SMC_PlatformPlugin 1.0.0
com.apple.driver.AppleFIVRDriver 4.1.0
com.apple.driver.AppleIntelSlowAdaptiveClocking 4.0.0
com.apple.driver.AppleIntelFramebufferCapri 10.3.0
com.apple.nvidia.NVDAStartup 10.2.8
com.apple.iokit.IOBluetoothUSBDFU 6.0.2f2
com.apple.driver.AppleUSBTCKeyEventDriver 254
com.apple.driver.AppleUSBTCKeyboard 254
com.apple.driver.AppleUSBTCButtons 254
com.apple.filesystems.apfs 748.41.3
com.apple.driver.AppleFileSystemDriver 3.0.1
com.apple.filesystems.hfs.kext 407.30.1
com.apple.AppleFSCompression.AppleFSCompressionTypeDataless 1.0.0d1
com.apple.BootCache 40
com.apple.AppleFSCompression.AppleFSCompressionTypeZlib 1.0.0
com.apple.driver.AirPort.Brcm4331 800.21.30
com.apple.driver.AirPort.Brcm4360 1220.18.1a2
com.apple.driver.AppleSDXC 1.7.6
com.apple.iokit.AppleBCM5701Ethernet 10.3.1
com.apple.driver.AppleAHCIPort 329
com.apple.driver.AppleSmartBatteryManager 161.0.0
com.apple.driver.AppleACPIButtons 6.1
com.apple.driver.AppleRTC 2.0
com.apple.driver.AppleHPET 1.8
com.apple.driver.AppleSMBIOS 2.1
com.apple.driver.AppleACPIEC 6.1
com.apple.driver.AppleAPIC 1.7
com.apple.driver.AppleIntelCPUPowerManagementClient 220.0.0
com.apple.nke.applicationfirewall 183
com.apple.security.TMSafetyNet 8
com.apple.security.quarantine 3
com.apple.IOBufferCopyEngineTest 1
com.apple.driver.AppleIntelCPUPowerManagement 220.0.0
com.apple.kext.triggers 1.0
com.apple.driver.DspFuncLib 280.12
com.apple.kext.OSvKernDSPLib 526
com.apple.driver.AppleSSE 1.0
com.apple.iokit.IOSerialFamily 11
com.apple.nvidia.driver.NVDAGK100Hal 10.2.8
com.apple.nvidia.driver.NVDAResman 10.2.8
com.apple.driver.AppleBacklightExpert 1.1.0
com.apple.AppleGPUWrangler 3.16.2
com.apple.driver.AppleHDAController 280.12
com.apple.iokit.IOHDAFamily 280.12
com.apple.iokit.IOAudioFamily 206.5
com.apple.vecLib.kext 1.2.0
com.apple.driver.AppleSMBusPCI 1.0.14d1
com.apple.driver.AppleSMBusController 1.0.18d1
com.apple.driver.AppleGraphicsControl 3.16.21
com.apple.driver.IOPlatformPluginLegacy 1.0.0
com.apple.driver.X86PlatformPlugin 1.0.0
com.apple.driver.IOPlatformPluginFamily 6.0.0d8
com.apple.iokit.IONDRVSupport 517.22
com.apple.iokit.IOSlowAdaptiveClockingFamily 1.0.0
com.apple.driver.AppleThunderboltEDMSink 4.1.2
com.apple.driver.AppleThunderboltDPOutAdapter 5.0.2
com.apple.iokit.IOAcceleratorFamily2 376.6
com.apple.iokit.IOSurface 209.2.2
com.apple.AppleGraphicsDeviceControl 3.16.21
com.apple.iokit.IOGraphicsFamily 517.22
com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport 6.0.2f2
com.apple.iokit.IOBluetoothHostControllerUSBTransport 6.0.2f2
com.apple.iokit.IOBluetoothHostControllerTransport 6.0.2f2
com.apple.iokit.IOBluetoothFamily 6.0.2f2
com.apple.driver.AppleUSBMultitouch 261
com.apple.driver.usb.IOUSBHostHIDDevice 1.2
com.apple.driver.usb.cdc 5.0.0
com.apple.driver.usb.networking 5.0.0
com.apple.driver.usb.AppleUSBHostCompositeDevice 1.2
com.apple.driver.usb.AppleUSBHub 1.2
com.apple.filesystems.hfs.encodings.kext 1
com.apple.driver.AppleThunderboltDPInAdapter 5.0.2
com.apple.driver.AppleThunderboltDPAdapterFamily 5.0.2
com.apple.driver.AppleThunderboltPCIDownAdapter 2.1.3
com.apple.driver.AppleXsanScheme 3
com.apple.driver.AppleThunderboltNHI 4.5.6
com.apple.iokit.IOThunderboltFamily 6.6.3
com.apple.iokit.IOAHCIBlockStorage 301.40.2
com.apple.iokit.IO80211Family 1200.12.2
com.apple.driver.corecapture 1.0.4
com.apple.driver.AppleUSBMergeNub 900.4.1
com.apple.iokit.IOEthernetAVBController 1.1.0
com.apple.driver.mDNSOffloadUserClient 1.0.1b8
com.apple.iokit.IOAHCIFamily 288
com.apple.driver.usb.AppleUSBEHCIPCI 1.2
com.apple.driver.usb.AppleUSBEHCI 1.2
com.apple.driver.usb.AppleUSBXHCIPCI 1.2
com.apple.driver.usb.AppleUSBXHCI 1.2
com.apple.driver.usb.AppleUSBHostPacketFilter 1.0
com.apple.iokit.IOUSBFamily 900.4.1
com.apple.driver.AppleUSBHostMergeProperties 1.2
com.apple.driver.AppleEFINVRAM 2.1
com.apple.driver.AppleEFIRuntime 2.1
com.apple.iokit.IOHIDFamily 2.0.0
com.apple.iokit.IOSMBusFamily 1.1
com.apple.security.sandbox 300.0
com.apple.kext.AppleMatch 1.0.0d1
com.apple.iokit.IOBufferCopyEngineFamily 1
com.apple.driver.DiskImages 480.30.2
com.apple.driver.AppleFDEKeyStore 28.30
com.apple.driver.AppleEffaceableStorage 1.0
com.apple.driver.AppleKeyStore 2
com.apple.driver.AppleUSBTDM 439.30.4
com.apple.driver.AppleMobileFileIntegrity 1.0.5
com.apple.iokit.IOUSBMassStorageDriver 140.30.1
com.apple.iokit.IOSCSIBlockCommandsDevice 404.30.2
com.apple.iokit.IOSCSIArchitectureModelFamily 404.30.2
com.apple.iokit.IOStorageFamily 2.1
com.apple.driver.AppleCredentialManager 1.0
com.apple.driver.KernelRelayHost 1
com.apple.iokit.IOUSBHostFamily 1.2
com.apple.driver.usb.AppleUSBCommon 1.0
com.apple.driver.AppleBusPowerController 1.0
com.apple.driver.AppleSEPManager 1.0.1
com.apple.driver.IOSlaveProcessor 1
com.apple.iokit.IOReportFamily 31
com.apple.iokit.IOTimeSyncFamily 650.5
com.apple.iokit.IONetworkingFamily 3.4
com.apple.driver.AppleACPIPlatform 6.1
com.apple.driver.AppleSMCRTC 1.0
com.apple.driver.AppleSMC 3.1.9
com.apple.iokit.IOPCIFamily 2.9
com.apple.iokit.IOACPIFamily 1.4
com.apple.kec.pthread 1
com.apple.kec.Libm 1
com.apple.kec.corecrypto 1.0

EOF
Model: MacBookPro10,1, BootROM MBP101.00F2.B00, 4 processors, Intel Core i7, 2.7 GHz, 16 GB, SMC 2.3f36
Graphics: Intel HD Graphics 4000, Intel HD Graphics 4000, Built-In
Graphics: NVIDIA GeForce GT 650M, NVIDIA GeForce GT 650M, PCIe, 1 GB
Memory Module: BANK 0/DIMM0, 8 GB, DDR3, 1600 MHz, 0x80AD, 0x484D5434314753364D465238432D50422020
Memory Module: BANK 1/DIMM0, 8 GB, DDR3, 1600 MHz, 0x80AD, 0x484D5434314753364D465238432D50422020
AirPort: spairport_wireless_card_type_airport_extreme (0x14E4, 0xEF), Broadcom BCM43xx 1.0 (7.21.190.16.1a2)
Bluetooth: Version 6.0.2f2, 3 services, 27 devices, 1 incoming serial ports
Network Service: Wi-Fi, AirPort, en0
Serial ATA Device: APPLE SSD SD512E, 500.28 GB
USB Device: USB 2.0 Bus
USB Device: Hub
USB Device: FaceTime HD Camera (Built-in)
USB Device: USB 2.0 Bus
USB Device: Hub
USB Device: Hub
USB Device: Apple Internal Keyboard / Trackpad
USB Device: BRCM20702 Hub
USB Device: Bluetooth USB Host Controller
USB Device: USB 3.0 Bus
Thunderbolt Bus: MacBook Pro, Apple Inc., 23.4

Disable Graphics Card Switching on MacBook Pro (from https://goo.gl/mfzDB4)

  1. Go to the  Apple menu and choose “System Preferences” and then go to “Energy” control panel
  2. Uncheck the box next to “Automatic graphics switching”
  3. Note the text which states this may decrease battery life on the MacBook Pro “When automatic switching is disabled, your computer will always use high-performance graphics. This may decrease battery life.” – if you are not OK with that do not disable this option
  4. Close out of System Preferences


Install gfxCardStatus
download from https://github.com/steveschow/gfxCardStatus/releases





November 22, 2017

Wowza Streaming Engine 4.7.3 released!

Wowza Streaming Engine 4.7.3 build 21227 released!

Stream Target - SRT support




Stream Target: Facebook 360 Support



SSL support

Wowza Changes logs 

Changes since 4.7.2.02 release
  • Added support for Secure Reliable Transport (SRT) on Windows operating systems

  • Fixed SRT parameters used by the SRT Push Publishing profile (StreamTargets)
  • Fixed SRT Stream Target to resolve hostnames correctly
  • Updated Facebook Stream Target to improve stability and error-handling, and to reduce overall graph API usage
  • Updated Facebook Stream Target to support 360 video tagging
  • Updated RTMP-based Stream Target to use query parameters correctly
  • Improved Wowza Streaming Engine Manager configuration for Secure Sockets Layer (SSL) deployments
  • Fixed Microsoft Azure images to prevent license failures when restarting after prolonged stop
  • Fixed MPEG-DASH streaming to correctly support wowzaplaystart, wowzaplayduration, and wowzaplayseek parameters embedded in segment request file names (originally from MPD request query params)
  • Fixed H.264 media reader to correctly apply wowzaplayduration parameter to chunk requests
  • Improved handling of streams with missing keyframes when using Apple HLS (Cupertino) packetizer
  • Updated Transcoder log messages to show number of active decodes
  • Updated Wowza Streaming Engine Manager to prevent incorrect LiveStreamRecord template keys from being entered
  • Improved LiveStreamRecord to search deeper into the packet queue to align audio and video
  • Added Application/Properties property liveStreamRecorderDefaultAudioSearchPosition (Boolean, default=true)
  • Added Application/Properties property liveStreamRecorderSkipKeyFrameUntilAudioTimeout (Integer, default=10000 milliseconds)
  • Fixed LiveStreamRecord template keys so they're always substituted correctly
  • Fixed property Application/HTTPStreamer/Properties/httpMaxHTTPSessionsPerTCPSession to correctly limit session creation
  • Fixed CORS headers to prevent them from being sent when disabled
  • Fixed REST API to prevent null value properties from being added to XML configuration files
  • Updated REST API HTTP return codes to better reflect API responses
  • Improved Wowza Streaming Engine installer security
Secure Reliable Transport (SRT) Streaming
  • Added support for ingesting Secure Reliable Transport (SRT) sources with the MediaCaster
  • Updated Secure Reliable Transport (SRT) libraries
  • Fixed SRT implementation to handle Advanced Encryption Standard (AES) key parameters correctly
  • Added support for Secure Reliable Transport (SRT) Stream Targets in Wowza Streaming Engine Manager
  • Fixed SRT MediaCaster to release lock correctly when a stream is being received


Stream Targets (Push Publishing)
  • Updated Cupertino stream target base class so that the master playlist isn't sent when a target is defined with an adaptiveGroups value (reduces bandwidth usage and ensures compatibility with Akamai NetStorage)
  • Resolved issues with CPU loading caused by threads monitoring live stream packetizers for PushPublishing HTTP protocol profiles (HLS, HDS, DASH)
  • Fixed timing issue with PushPublishing HTTP targets when the livestreampacketizer wasn't detected properly, resulting in no files being pushed
  • Fixed issue with handling of the URL attribute in HLS EXT-X-KEY tags in PushPublishing
  • Fixed exception that occurred when PROGRAM-DATE-TIME tags were added to HLS/Cupertino stream targets


Media Cache
  • Improved configuration validation of MediaCache Sources in Wowza Streaming Engine Manager
  • Added default maximum and minimum time to live values for Media Cache sources when using Wowza Streaming Engine Manager
  • Added default maximum and minimum time to live values for Media Cache sources when using the Wowza Streaming Engine REST API


MediaCasters, Stream Files, and Startup Streams
  • Fixed issue causing exception with Apple HLS MediaCaster streams
  • Improved LiveRepeater MediaCaster reset logic when streamForceResetOnReconnect is enabled
  • Fixed MediaCaster so _definst_ is correctly removed when IsrRemoveDefaultAppInstance is set to true for WOWZ and RTMP connections
  • Improved Apple HLS MediaCaster to support relative path pointers


Live Stream DVR Playback (Wowza nDVR)
  • Changed incorrect Application/DVR/Properties property name chunkBreakOnPTSManifest to dvrChunkBreakOnPTSManifest
  • Added Application/DVR/Properties property chunkBreakOnPTSManifest (Boolean, default false) to write presentation timestamp (PTS) time into manifest
  • Fixed nDVR conversion to correctly handle audio-only MP3 stores


WebRTC (Preview)
  • Added Application/Properties webrtcIdleTimeout property (Integer, default=5000) for WebRTC connections


RTSP/RTP Streaming

  • Fixed RTP SDP exchange to include sprop-parameter-set parameter


Apple HLS (Cupertino) Streaming
  • Added HTTPS support for Apple HLS stream files created in Wowza Streaming Engine Manager
  • Fixed null pointer exceptions when an HLS chunk isn't ready for publishing


General Streaming
  • Added on-demand playback support for MPEG-4 Audio Lossless Coding (MPEG-4 ALS) using MPEG-DASH
  • Fixed CORS headers that were being added incorrectly for HTTP requests
  • Updated MPEG-DASH MPD creation to list elements in the order in which they are inserted through the CENC encryption APIs
  • Improved NetConnection to allow send and receive chunk sizes to be changed for outbound connections:
  • Added Application/Streams property rtmpSendChunkSize (Integer, default=512)
  • Added Application/Streams property rtmpReceiveChunkSize (Integer, default=128)
  • Fixed MediaReaderH264 to correctly return no audio type when files don't contain an audio track
  • Added Transcoder decoding parameters for NVCUVID/CUDA to enable control of maxNumDecodeSurfaces


REST API
  • Updated the REST API endpoint /v3/servers/{serverName}/vhosts/{vhostName}/applications/{appName}/instances/{instanceName}/incomingstreams/{streamName}
  • Added parameter audioCodecString
  • Added parameter videoCodecString
  • Updated audio configuration string:
  • Changed isAudioReady and isVideoReady to show the number of audio and video packets in the stream queue
  • Fixed sourceIP to correctly show the publishing IP when using WebRTC
  • Fixed video configuration so that it looks for the latest available video configuration packet rather than the current packet queue


General Server
  • Updated core requirements to Java 7 and above
  • Updated core Jackson libraries to 2.9.0
  • Updated core Apache HTTP client library to 4.5.3
  • Updated core Apache HTTP core library to 4.4.6
  • Added winstone-log4j.properties to installer
  • Removed unused Amazon S3 classes from core server code
  • Improved filtering of query parameters in Wowza Streaming Engine Manager requests




November 8, 2017

Wowza Streaming Engine 4.7.2.02 Build 21159



Changes in Wowza Streaming Engine 4.7.2.02 Build 21159
========================================

   * Removed unused Amazon S3 classes from core server code
   * Updated core Jackson libraries to 2.9.0
   * Updated core Apache HTTP client library to 4.5.3
   * Updated core Apache HTTP core library to 4.4.6
   * Updated core requirements to Java 7 and above
   * Fixed SRT MediaCaster to release lock correctly when a stream is being received
   * Fixed issue causing exception with Cupertino MediaCaster streams
   * Improved configuration validation for Wowza Streaming Engine Manager for MediaCache Sources
   * Updated Cupertino stream target base class so that the master playlist isn't sent when a target is defined with an adaptiveGroups value, reducing bandwidth usage and ensuring compatibility with Akamai NetStorage.
   * Correction - Application/DVR/Properties property chunkBreakOnPTSManifest should be dvrChunkBreakOnPTSManifest
   * Added support for SRT Stream Targets in Wowza Streaming Engine Manager
   * Adding winstone-log4j.properties to installer

========================================

Changes in Wowza Streaming Engine 4.7.2.01 Build 21094
========================================

* Updated SRT libraries
* Added on demand playback support for MPEG4-ALS using MPEG-DASH
* Added transcoder decoding parameters for NVCUVID/CUDA to enable control of maxNumDecodeSurfaces
* Fixed SRT implementation to handle AES key parameters correctly
Press Enter to continue.

* Added Application/DVR/Properties property chunkBreakOnPTSManifest (Boolean, default false) to write PTS time into manifest

========================================

Changes in Wowza Streaming Engine 4.7.2 Build 20903
========================================

   * Improved LiveRepeater MediaCaster reset logic when streamForceResetOnReconnect is enabled
   * Fixed null pointer exceptions when HLS chunk is not ready for push publishing
   * Resolved issues with CPU loading caused by threads monitoring live stream packetizers for PushPublishing HTTP protocol profiles (HLS, HS, DASH)
   * Fixed MediaCaster so _definst_ is correctly removed when lsrRemoveDefaultAppInstance is set to true for WOWZ and RTMP connections
   * Fixed CORS headers being added incorrectly for HTTP requests
   * Improved AppleHLS mediacaster to support relative path pointers
   * Updated REST endpoint /v3/servers/{serverName}/vhosts/{vhostName}/applications/{appName}/instances/{instanceName}/incomingstreams/{streamName}
      * Added parameter audioCodecString
      * Added parameter videoCodecString
   * Fixed timing issue with PushPub HTTP targets where the livestreampacketizer would not be detected properly, resulting in no files being pushed
   * Improved NetConnection to allow send and receive chunk sizes to be changed for outbound connections
      * Added Application/Streams property rtmpSendChunkSize (Integer, default=512)
      * Added Application/Streams property rtmpReceiveChunkSize (Integer, default=128)
   * Improved configuration of Wowza Streaming Engine Manager for SSL deployments
   * Added default maximum and minumum TTLs for Media Cache sources when using Wowza Streaming Engine Manager
   * Fixed RTP SDP exchange to include sprop-parameter-set parameter
   * Added HTTPS support for Apple HLS stream file creation in Wowza Streaming Engine Manager
   * Fixed REST endpoint /v3/servers/{serverName}/vhosts/{vhostName}/applications/{appName}/instances/{instanceName}/incomingstreams/{streamName}
Press Enter to continue.

      * Looked for the last available video configuration packet instead of the current packet queue
   * Updated REST endpoint /v3/servers/{serverName}/vhosts/{vhostName}/applications/{appName}/instances/{instanceName}/incomingstreams/{streamName}
      * Updated audio configuration string
  * Changed isAudioReady and isVideoReady to show the number of audio and video packets in the stream queue
  * Fixed sourceIP to correctly show the publishing IP when using WebRTC
   * Added SRT source ingest support using MediaCaster sub system
   * Updated MPEG-DASH MPD creation to list elements in order in which they are inserted through the CENC encryption APIs
   * Fixed nDVR conversion to correctly handle audio only MP3 stores
   * Fixed MediaReaderH264 to correctly return no audio type when files contain no audio track
   * Added default maximum and minumum TTLs for Media Cache sources added using the Wowza Streaming Engine REST API
   * Added Application/Properties property webrtcIdleTimeout (Integer, default=5000) for WebRTC connections
   * Fixed exception that would occur when PROGRAM-DATE-TIME tags are added to HLS/Cupertino Stream Targets
   * Improved filtering of query parameters in WSE Manager requests
   * Fixed issue with handling of the URL attribute in HLS EXT-X-KEY tags in Push Publishing
   * Updated REST endpoint /v3/servers/{serverName}/publishers/{publisher} to allow for PUT request handling