Wowza Community

file permission not right after 4.2.0 to 4.3.0 upgrade

Sorry if this is a repeat, but I tried searching and did not find anything similar to this issue

I just downloaded the WowzaStreamingEngine-Update-4.3.0.zip,

unzipped it into a dir under /usr/local/WowzaStreamingEngine/updates

cd to the dir/linux

ran “sudo chmod +x *.sh”

ran “./ update.sh”

and got the following:

# sudo ./update.sh
Verifying running as administrative user
Verifying Java 1.6 or greater is available
Locating  installation directory
Running Wowza Streaming Engine update installer
Path: /usr/local/WowzaStreamingEngine-4.1.0/updates/WowzaStreamingEngine-Update-4.3.0/linux/..
This will update your installation at: /usr/local/WowzaStreamingEngine-4.1.0
Currently installed version           : Wowza Streaming Engine 4.2.0 - Build 15089
This will update your installation to : Wowza Streaming Engine 4.3.0 - Build 16025
Are you sure you want to continue? (y/n)
y
========================================
Changes in Wowza Streaming Engine 4.3.0 Build 16025
   * Updated genkey.bat to work with updated environment variables created with Wowza Streaming Engine 4.2 installers
   * Fixed override of HLS WebVTT caption language name using cupertinoTag.NAME in a smil file
   * Fixed problem with DVR recorder locking conflict during shutdown and startup
   * Updated the REST API, Swagger documentation and Wowza Streaming Engine Manager to reflect the need to use query parameters formated like ?dstEntryName=<newobjectname> instead of ?<newobjname> when using the copy actions.  The affected end points are
       * http://<ip:port>/v2/servers/{serverName}/vhosts/{vhostName}/applications/{appName}/actions/copy
       * http://<ip:port>/v2/servers/{serverName}/vhosts/{vhostName}/applications/{appName}/smilfiles/{smilfileName}/actions/copy
       * http://<ip:port>/v2/servers/{serverName}/vhosts/{vhostName}/applications/{appName}/streamfiles/{streamfileName}/actions/copy
       * http://<ip:port>/v2/servers/{serverName}/vhosts/{vhostName}/applications/{appName}/transcoder/templates/{templateName}/actions/copy
       * http://<ip:port>/v2/servers/{serverName}/vhosts/{vhostName}/streamfiles/{streamfileName}/actions/copy
       * http://<ip:port>/v2/servers/{serverName}/vhosts/{vhostName}/transcoder/templates/{templateName}/actions/copy
       * http://<ip:port>/v2/servers/{serverName}/vhosts/{vhostName}/smilfiles/{smilfileName}/actions/copy
       * The old mechanism will log a deprecated message to the logs and still work for a while to allow for backwards compatibility
   * Fixed reconnectWaitTimer for MediaCaster when using .stream files and json format
   * Fixed unbind error messages when doing multicast push
   * Fixed Verimatrix DRM Module key caching mechanism
   * Added flushAndForceItemFromCache and flushAndForceStreamNameFromCache API to Media Cache to allow cached items to be forcefully removed from the cache
   * Fixed MPEG-DASH live MPDs so that the timeShiftBufferDepth is reported correctly. A bug was introduced in the 4.2.0.01 update that caused the value to be off by a factor of 90, such that a buffer depth of 16 seconds would actually be reported as 24 minutes
   * Fixed issue with HEVC/H.265 parsing of SPS data, we were not properly counting short term reference pics
   * Fixed issue with SSL handshake which was causing intermittent failure on Firefox 39.0 and newer - initial request was getting stuck in SSLEngine because it was processed before the handshake was complete
   * Fixed transcoder issue with QuickSync encoder on Linux which was not returning the correct encoding parameters when enabling logVideoEncodingParameters
   * Fixed issue with AAC with on demand RTSP playback
   * Fixed issue when reading certain audio only mp4 files resulting in the read position resetting
Press Enter to continue.
   * Fixed HTTP live repeaters so they properly track bytes sent over network
   * Fixed PushPublishing Wowza Streaming Cloud targets so that a Save from the edit screen does not cause the saved API token on the WSE to be lost
   * Removed RTSP connection option and added RTMP connection option on the Wowza Streaming Engine Manager Source page for JVC camcorders
   * Fixed bad calculation for availabilityStartTime in live MPEG-DASH MPDs resulting in field value being approximately 15 minutes too early
   * Enabled the publishTime field in MPEG-DASH MPDs by default to align with v2 MPEG-DASH spec. It previously needed to be enabled via the mpegdashMpdPublishTime property for the LiveStreamPacketizer or HTTPStreamer for each application
   * Updated bouncy castle jar from version bcprov-jdk15on-149 to version bcprov-jdk15on-152
   * Improved AAC codec config decoder to enable detection of HE-AAC object type
   * Added support for AAC descriptors in the PMT when ingesting via MPEG-TS.  If they are encountered when processing the PMT, we will set the AAC object type to the appropriate value based on the Profile indicated in the descriptor.
   * Added support for setting/overriding the AAC object type via the stream file for cases when the incoming AAC stream isn't the type 2 (LC) and isn't properly indicated in the PMT
      * mpegtsSetAACObjectType, xx in the stream file
         * 2 = LC (Default)
         * 5 = AAC HE
         * 29 = AAC HE v2
         * other values can be used, refer to ISO/IEC 14496-3 table 1.5.1.1 Audio Object Type definition
   * Added VidBlaster to list of encoders so it is recognized as a publisher
   * Added API to get the incoming bitrate of a live stream that is being published to the server. There are two sources of bitrate data, measured (IMediaStream.PUBLISH_BITRATE_SOURCE_MEASURE) or metadata (IMediaStream.PUBLISH_BITRATE_SOURCE_METADATA).
      * int IMediaStream.getPublishBitrateVideo(); // if metadata available it will be returned if not, measured will be returned
      * int IMediaStream.getPublishBitrateAudio(); // if metadata available it will be returned if not, measured will be returned
      * int IMediaStream.getPublishBitrateVideo(int source); // IMediaStream.PUBLISH_BITRATE_SOURCE_MEASURE or IMediaStream.PUBLISH_BITRATE_SOURCE_METADATA
      * int IMediaStream.getPublishBitrateAudio(int source); // IMediaStream.PUBLISH_BITRATE_SOURCE_MEASURE or IMediaStream.PUBLISH_BITRATE_SOURCE_METADATA
   * Fixed transcoder issue that was causing flashing with transparent overlays applied to decode (overlay was being applied multiple times)
   * Improved transcoder to more completely ignore disabled encode blocks
   * Changed HLS EXT-X-KEY URI param to ensure path is URL encoded.  Fixes issues with spaces in content path
   * Changed HTTPStreamerUtils.encodeURL() utility to do URL percent encoding "%20" for space instead of URL-form encoding "+"
   * Added HTTPStreamerUtils.encodeFormURL() utility to support URL-form encoding of space as "+"
Press Enter to continue.
   * Added XSplit to list of encoders so it is recognized as a publisher
   * Fixed null pointer exceptions shown in logs for Cupertino Live Repeater
   * Fixed IStreamRecorder add/remove listener so all events are triggered correctly
   * Improved transcoder Intel Quick Sync H.264 implementation to better handle and recover from hardware warning messages
   * Added support for HEVC/H.265 video in Apple HLS (cupertino) live and video on demand streaming
   * Fixed REST API errors to return the same content type as requested
   * Added nDVR to file converter for single and group conversions
   * Fixed RTMP secure token hash generation to exclude non specified prefixed query parameters
   * Fixed HTTPStreamerCupertinoIndexPlaylist warning logging about multiply-defined renditions in smil file, which actually needs to be permitted so that a single video rendition may be paired with more than one audio GROUP in the playlist, in which case the video rendition (url) is listed twice under two different #EXT-X-STREAM-INF entries.
   * Fixed recovery of AAC ingest for MPEGTS when AAC packets contain partial frames
   * Removed the dependency on the "restURI" field as well as the field from all the REST endpoints
   * Modified the endpoints below so the Swagger Server will properly display all the parameters
         * /v2/servers/{serverName}/users/{userName} renamed the "name" field to "userName"
         * /v2/servers/{serverName}/vhosts/{vhostName}/startupstreams/applications/{appName}/instances/{instanceName}/streams/{streamName} renamed the "applicationName" field to "appName"
         * /v2/servers/{serverName}/vhosts/{vhostName}/publishers/{publisherName} renamed the "name" field to "publisherName"
   * Added support for Wowza Streaming Cloud CDN Stream Target destinations
   * Fixed bug where Copying (via WSEM) a WSC Stream Target that has already retrieved a WSC API long token would not copy the long token into the new target
   * Fixed bug where a Stream Target that should show a Waiting status (on the Wowza Streaming Engine Manager's Stream Targets page) would instead show a Failed status any time there was at least one other target that showed an Active status
   * Fixed logging in AMFDataList, NetConnectionCallResults, and PushPublishRTMP to remove "\n" newlines for compatibility with the WSEM log viewer UI. Basically all logs must be single-line
   * Fixed REST API issue where PushPublishStreamAppConfig listed the wrong default value for removeDefaultAppInstance field (false instead of true), making it impossible to override the setting to false in the map file
   * Fixed the preservation of the NDVR settings when NDVR is disabled.  The Wowza Streaming Engine Manager used to set the settings to a set of defaults when NDVR was disabled
========================================
Changes in Wowza Streaming Engine 4.2.0.01 Build 15394
Press Enter to continue.
   * Fixed a bug where the live stream recorder incorrectly updated the MDAT atom to the 64-bit atom format when passing the 4GB file size
   * Fixed an issue in Live Stream Recorder where it would stop recording a stream when trying to split the stream and record to a new file when no data was received
   * Fixed case where DVR recording would throw an NPE in DvrPacketHandler because chunk writer was not initialized
   * Enhanced nDVR to support ID3 tags
   * Fixed NPE when no host header provided by HTTP clients
   * Added support for OPTIONS HTTP method. Added for HTTPStreamer/Properties "UserHTTPHeaders" property to allow custom headers
   * Added support to enable/disable URL encoding of query parameter values. HTTPStreamer/Properties boolean property "queryParameterValueEncode", default is true
   * Added support for MediaCaster property "rtpMaxFailedConnectionLogCount" that controls how many attempts to connect to a source are logged (only logged, attempts will continue as configured without log entries). The log count is reset to 0 after each successful connection. Add it to an application's "Custom" properties section
         * Path "/Root/Application/MediaCaster"
         * Name "rtpMaxFailedConnectionLogCount"
         * Type "Integer"
         * Value 0: Always log (default); 1 or greater: Log each connection attempt/failure up to the value entered
   * Added support for RTSP/RTP playback of G.711 (µ-law and A-law) audio
   * Added support for RTSP/RTP playback of MPEG-2 video
   * Added support for RTSP/RTP playback of VPx (VP8 and VP9) video and Vorbis and Opus audio
   * Improved Transcoder to re-create encoder if it fails to return frames (default is 150 frames)
   * Added support for quicksync.AspectRatioW and quicksync.AspectRatioH Transcoder template parameters to enable support for anamorphic video resolutions
   * Improved Transcoder startup for NVIDIA NVENC encoding to improve how we look for driver shared libraries
   * Added work-around for Transcoder NVENC issue with surface format that appeared in latest NVIDIA Linux driver
   * Added Transcoder support for multiple renditions of the same plugin libraries for Quick Sync (add Transcoder/PluginPaths/QuickSync element to Server.xml to control path - default to use default lib-native path)
   * Fixed a Transcoder issue with NVENC2 encoding where encoder was not shut down properly leading to memory leak
   * Fixed issue with Apple HLS (cupertino) video on demand logging to avoid NullPtr exception
   * Added support for custom Cupertino Manifest headers. API method "addUserManifestHeader" and property "cupertinoManifestHeaders" in Root/Properties to add headers
   * Fixed "httpRandomizeMediaName" property to be consistent during live streams and across manifest segments for MPEG-DASH
   * Fixed property "mpegdashUserHTTPHeaders" in HTTPStreamer/Properties to be reflected correctly in the MPEG-DASH manifest output
Press Enter to continue.
   * Fixed AAC audio frame duration calculations in MPEG-DASH on-demand streaming to ensure 1024 frame durations
   * Fixed MPEG-DASH streaming to properly handle manifest requests with both file-name-embedded query params and URL-appended query params
   * Added MPEG-DASH support for <cenc:pssh> elements inside the <ContentProtection> elements in DASH MPDs for encrypted streams, per recommendations in the latest Common Encryption standard. This allows for better compatibility with HTML5 javascript-based players
   * Improved audio timecode accuracy for live MPEG-DASH streams
   * Added support for new MPEG-DASH debug flags:
         * mpegdashIncludeChunkStartTimeTags - (/Root/Application) Includes the "S@t" attribute (chunk start time in timescaled units) in every <S> chunk entry in DASH MPDs (instead of just the first entry), for both live and VOD streaming
         * mpegdashIncludeUnscaledChunkTimeTags - (/Root/Application) Includes custom "S@t_unscaled" and "S@d_unscaled" attributes (chunk start time and duration in milliseconds) in every <S> chunk entry in DASH MPDs, for both live and VOD streaming
         * mpegdashDebugFragmentTimes - (/Root/Application/HTTPStreamer) Logs scaled (a/v timescaled) and unscaled (msec) chunk start/stop/duration times on all VOD a/v chunk requests
   * Enhanced logging from mpegDashLiveIndexLogging (/Root/Application/LiveStreamPacketizer) so that unscaled chunk start/duration/end times are logged for both audio and video
   * Changed MPEG-DASH live streaming MPDs (SegmentTimeline format, the default) so that for streams with both audio and video, audio chunk start times reflect the timecodes of the actual audio chunks instead of audio-timescaled versions of the video chunk timecodes
   * Fixed MPEG-DASH issue where for streams with both audio and video, the video timescale was reported instead of the audio timescale in the 'sidx' and 'mvhd' boxes of audio chunks, and the duration values in those same boxes were reported in that wrong timescale
   * Fixed bug in ModuleCoreSecurity that prevented RTMP switching when SecureToken was used
   * Fixed key rotation when "drmVerimatrixCupertinoDTVPosition" is enabled for Verimatrix DRM using live streams
   * Added API to control RTMP/AMF object deserialization charsetName used for strings (default is UTF-8):
         * AMFDataContextDeserialize.setChartsetName(String charsetName);
         * AMFDataContextDeserialize.getChartsetName();
   * Fixed "cupertinoEncryptionBaseURL" property when the header Host is not provided
   * Added IMediaCacheStoreItemListener and IMediaCacheStoreItemEvent API interfaces and CacheStoreItemListenerClassList MediaCache configuration item
   * Fixed the "mpegtsMapTimeToSystemTime" property support where the stream validator was resetting the depacketizer and the server wasn't resetting the mapping to force a recalculation
   * Fixed VOD Adobe HDS (sanjose) logging issue where file info was not logged as part of the connect and stream create events
   * Fixed the PushPublishStreamAppConfig REST API configuration to use a default value of "true" for the sendOriginalTimecodes field and a default value of "0x100000" for originalTimecodeThreshold to match the defaults in the Push Publishing module
   * Fixed NPE in Wowza Streaming Engine when debug statements are printed with Livideo6 stream connection from Akamai
   * Fixed NPE in Wowza Streaming Engine when 401 is returned from a source during digest authentication to Sony and Axis cameras
   * Fixed an issue in Wowza Streaming Engine Manager where stream files weren't being updated with Pan/Tilt/Zoom (PTZ) user name and password when editing the stream file in the manager
   * Updated the Windows Service manager executable to 2.24 and applied Wowza changes to it. Also updated the install/uninstall batch files
Press Enter to continue.
   * Added ability in PushPublishing module's "rtmp" profile to filter metadata items from onMetaData messages on a per-map-entry basis. Associated new map entry properties:
         * removeMetadataObjects (Boolean) - enables removal of all array and object data types
         * filteredMetadataItems (String) - allows definition of a pipe-separated list of named metadata items to remove
   * Optimized selection of VOD caption provider when file is specified via SMIL file
   * Enhanced logging provided by the mpegdashIncludeUnscaledChunkTimeTags property to include "S@end" and "S@end_unscaled" debug attributes, providing the scaled and unscaled chunk end times
   * Changed MPEG-DASH example players to be based on the Shaka Player Project. Google Shaka Player is more compatible with the MPEG-DASH implementation in Wowza Streaming Engine
Press Enter to continue.
Detected operating system: linux
Checking file versions.
Backing up current files.
Successfully created backup: /usr/local/WowzaStreamingEngine-4.1.0/updates/backup/4.3.0-1.zip
Updating installation.
The update process completed successfully.
Keep a copy of this update zipfile.  It is needed in case you want to restore to the previous version.
Only this version of the update will restore the prior version replaced by this update.

there was noting about

Restoring correct file permissions

as shown on https://www.wowza.com/docs/how-to-update-your-wowza-streaming-engine-installation

and when I try to start the WowzaStreamingEngine or Manager I get "/etc/init.d/WowzaStreamingEngine start

sudo: /etc/init.d/WowzaStreamingEngine: command not found"

take a look at /etc/init.d/Wowza* and I get:

lrwxrwxrwx 1 root root 56 Oct  3  2014 /etc/init.d/WowzaStreamingEngine -> /usr/local/WowzaStreamingEngine/bin/WowzaStreamingEngine
lrwxrwxrwx 1 root root 71 Oct  3  2014 /etc/init.d/WowzaStreamingEngineManager -> /usr/local/WowzaStreamingEngine/manager/bin/WowzaStreamingEngineManager

ok fine take a look a /usr/local/WowzaStreamingEngine/bin/Wowza* and I get:

-rw-r--r-- 1 root root 4284 Oct 27 15:47 /usr/local/WowzaStreamingEngine/bin/WowzaStreamingEngine
-rw-r--r-- 1 root root   96 Sep  8  2014 /usr/local/WowzaStreamingEngine/bin/WowzaStreamingEngined

-rw-r–r-- ??? why are those not executable? as a matter of face the whole /usr/local/WowzaStreamingEngine/bin directory is non-executable:

# ls -al
total 96
drwxrwxr-x  2 root root  4096 Jul 17 20:48 .
drwxrwxr-x 16 root root  4096 Oct  3  2014 ..
-rw-r--r--  1 root root  8364 Sep  8  2014 genkey.jar
-rw-r--r--  1 root root    89 Sep  8  2014 genkey.sh
-rw-r--r--  1 root root   241 Sep  8  2014 setenv.sh
-rw-r--r--  1 root root   710 Sep  8  2014 shutdown.sh
-rw-r--r--  1 root root  2104 Oct 27 15:47 startup.sh
-rw-r--r--  1 root root   381 Sep  8  2014 tune.sh
-rw-r--r--  1 root root   369 Sep  8  2014 viewlog.sh
-rw-r--r--  1 root root  1445 Oct 27 15:47 wms-ant.jar
-rw-r--r--  1 root root 30563 Oct 27 15:47 wms-bootstrap.jar
-rw-r--r--  1 root root  2669 Oct 27 15:47 wms.sh
-rw-r--r--  1 root root  4284 Oct 27 15:47 WowzaStreamingEngine
-rw-r--r--  1 root root    96 Sep  8  2014 WowzaStreamingEngined

why is that? and running a chmod +x on /usr/local/WowzaStreamingEngine/bin/* does allow the WowzaStreamingEngine to start, and doing to :1935 on my server does show “Wowza Streaming Engine 4 Monthly Edition 4.3.0 build 16025” but :8088 will not load. Also when trying to run “# sudo /etc/init.d/WowzaStreamingEngineManager restart” I get:

	Restarting WowzaStreamingEngineManager ....
	WowzaStreamingEngineManager: starting...
                                                           [  OK  ]

and then the session just hangs. I see nothing int the access or error logs. What is going on, and how I can I get Wowza running again please? I am running is on AWS “Amazon Linux AMI”. Please let me know if you need any other information.

Thank you,

-N8

Hello,

Thank you for the detailed post. I attempted to recreate this issue by upgrading the Amazon Marketplace Wowza Streaming Engine BYOL AMI but could not replicate this problem.

Would you please provide more details on the AMI used? Was this a pre-built Wowza AMI or did you install Wowza Streaming Engine originally on a bare Linux instance?

Best regards,

Andrew

Hi,

If it’s a pre-built AMI you should see a *startup.log in [install-dir]/logs

and that will show the ami id in use, look for AWSEC2_METADATA_AMI_ID=

Daren

Hi,

That’s great news, thanks for the update.

Regards,

Jason

Unfortunately I am picking up where a co-work, who is no longer with the company, left off so I am not sure if this was a pre-built AMI or bare Linux instance. Is there a way I can find out?

I am now told that This was a pre-built Amazon linux AMI.

Ok looks like I finally got 4.3.0 up and running, I had to change permission (chmod +x) in both /usr/local/WowzaStreamingEngine/manager/bin and /usr/local/WowzaStreamingEngine/bin