diff --git a/README.html b/README.html index 505bf7f..efc9690 100644 --- a/README.html +++ b/README.html @@ -1,25 +1,38 @@

UxPlay -1.72 (beta): AirPlay-Mirror and AirPlay-Audio server for Linux, macOS, -and Unix (now also runs on Windows).

+id="uxplay-1.72-airplay-mirror-and-airplay-audio-server-for-linux-macos-and-unix-also-runs-on-windows.">UxPlay +1.72: AirPlay-Mirror and AirPlay-Audio server for Linux, macOS, and Unix +(also runs on Windows).

Now developed at the GitHub site https://github.com/FDH2/UxPlay (where ALL user issues should be posted, and latest versions can be found).

Highlights:

@@ -771,23 +784,16 @@ not supply a complete GStreamer, but seems to have everything needed for UxPlay). New: the UxPlay build script will now also detect Homebrew installations in non-standard locations indicated by the environment variable $HOMEBREW_PREFIX.

-

Using GStreamer installed from MacPorts: this is -not recommended, as currently the MacPorts GStreamer is -old (v1.16.2), unmaintained, and built to use X11:

- -

(If you really wish to use the MacPorts GStreamer-1.16.2, install -pkgconf (“sudo port install pkgconf”), then “sudo port install +

Using GStreamer installed from MacPorts: MacPorts is +now providing recent GStreamer releases: install pkgconf (“sudo port +install pkgconf”), then “sudo port install gstreamer1 gstreamer1-gst-plugins-base gstreamer1-gst-plugins-good -gstreamer1-gst-plugins-bad gstreamer1-gst-libav”. For X11 support on -macOS, compile UxPlay using a special cmake option --DUSE_X11=ON, and run it from an XQuartz terminal with -vs -ximagesink; older non-retina macs require a lower resolution when using -X11: uxplay -s 800x600.)

+gstreamer1-gst-plugins-bad gstreamer1-gst-libav”. (The following may no +longer be relevant: For X11 support on macOS, compile UxPlay using a +special cmake option -DUSE_X11=ON, and run it from an +XQuartz terminal with -vs ximagesink; older non-retina macs require a +lower resolution when using X11: +uxplay -s 800x600.)

After installing GStreamer, build and install uxplay: open a terminal and change into the UxPlay source directory (“UxPlay-master” for zipfile downloads, “UxPlay” for “git clone” downloads) and build/install with @@ -1644,9 +1650,11 @@ an AppleTV6,2 with sourceVersion 380.20.1 (an AppleTV 4K 1st gen, introduced 2017, running tvOS 12.2.1), so it does not seem to matter what version UxPlay claims to be.

Changelog

-

1.72 2025-05-15. Improved HLS Live Streaming (YouTube) support. Add +

1.72 2025-05-03. Improved HLS Live Streaming (YouTube) support. Add support for password (HTTP Digest Authentication, -pw option) as -alternative to on-screen pin codes.

+alternative to on-screen one-time pin codes. Add requested options -md +to export audio-mode metadata text to a file for display, and -vol for +setting initial audio-streaming volume on client.

1.72 2024-04-22 Add requested options -md <filename> to output audio metadata text to a file for possible display (complements -ca option), and -vol option to set initial audio-streaming volume. Add diff --git a/README.md b/README.md index 34430fb..f62a187 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,8 @@ -# UxPlay 1.72 (beta): AirPlay-Mirror and AirPlay-Audio server for Linux, macOS, and Unix (also runs on Windows). +# UxPlay 1.72: AirPlay-Mirror and AirPlay-Audio server for Linux, macOS, and Unix (also runs on Windows). ### **Now developed at the GitHub site (where ALL user issues should be posted, and latest versions can be found).** -- ***NEW in v1.72**: Improved Support for (YouTube) HLS (HTTP Live Streaming) +- **NEW in v1.72**: Improved Support for (YouTube) HLS (HTTP Live Streaming) video with the new "-hls" option (introduced in 1.71).* **Only streaming from the YouTube iOS app (in \"m3u8\" protocol) is currently supported**: (streaming using the AirPlay icon in a browser window is **not** yet supported).Click on the airplay icon in the @@ -14,10 +14,16 @@ some videos fail to play_. * user-requested features: added support for setting a password (as an alternative to on-screen - pin codes) to control client access (-pw option); added support for + pin codes) to control client access (-pw option, see "man pw" or this README for details); added support for setting initial client audio-streaming volume (-vol option), and output of audio-mode metadata to file (for display by some external process, -md option). - + + **ISSUES** ***(Please help to solve if you have expertise)*** + + * in HLS video streaming from the YouTube app (-hls option), rendered using GStreamer's media player "playbin3" (or playbin2, with option -hls 2), + we don't understand how to correctly deal with "interstitials" (= 15 sec commercials) when "skip" is pressed on the client. + (HLS is handled by handlers in lib/http_handlers.h) + ## Highlights: - GPLv3, open source. @@ -773,19 +779,12 @@ complete GStreamer, but seems to have everything needed for UxPlay). installations in non-standard locations indicated by the environment variable `$HOMEBREW_PREFIX`.** -**Using GStreamer installed from MacPorts**: this is **not** -recommended, as currently the MacPorts GStreamer is old (v1.16.2), -unmaintained, and built to use X11: - -- Instead [build gstreamer - yourself](https://github.com/FDH2/UxPlay/wiki/Building-GStreamer-from-Source-on-macOS-with-MacPorts) - if you use MacPorts and do not want to use the "Official" Gstreamer - binaries. - -*(If you really wish to use the MacPorts GStreamer-1.16.2, install -pkgconf ("sudo port install pkgconf"), then "sudo port install +**Using GStreamer installed from MacPorts**: MacPorts is now providing +recent GStreamer releases: install +pkgconf ("sudo port install pkgconf"), then "sudo port install gstreamer1 gstreamer1-gst-plugins-base gstreamer1-gst-plugins-good -gstreamer1-gst-plugins-bad gstreamer1-gst-libav". For X11 support on +gstreamer1-gst-plugins-bad gstreamer1-gst-libav". +(The following may no longer be relevant: *For X11 support on macOS, compile UxPlay using a special cmake option `-DUSE_X11=ON`, and run it from an XQuartz terminal with -vs ximagesink; older non-retina macs require a lower resolution when using X11: `uxplay -s 800x600`.)* @@ -1691,9 +1690,11 @@ introduced 2017, running tvOS 12.2.1), so it does not seem to matter what version UxPlay claims to be. # Changelog -1.72 2025-05-15. Improved HLS Live Streaming (YouTube) support. +1.72 2025-05-03. Improved HLS Live Streaming (YouTube) support. Add support for password (HTTP Digest Authentication, -pw option) as -alternative to on-screen pin codes. +alternative to on-screen one-time pin codes. Add requested options +-md to export audio-mode metadata text to a file for display, and +-vol for setting initial audio-streaming volume on client. 1.72 2024-04-22 Add requested options -md \ to output audio metadata text to a file for possible display (complements -ca option), diff --git a/README.txt b/README.txt index 371fb50..d09aa71 100644 --- a/README.txt +++ b/README.txt @@ -1,19 +1,33 @@ -# UxPlay 1.72 (beta): AirPlay-Mirror and AirPlay-Audio server for Linux, macOS, and Unix (now also runs on Windows). +# UxPlay 1.72: AirPlay-Mirror and AirPlay-Audio server for Linux, macOS, and Unix (also runs on Windows). ### **Now developed at the GitHub site (where ALL user issues should be posted, and latest versions can be found).** -- ***NEW in v1.72**: Improved Support for (YouTube) HLS (HTTP Live - Streaming) video with the new "-hls" option.* **Only streaming from - the YouTube iOS app (in \"m3u8\" protocol) is currently supported**: - (streaming using the AirPlay icon in a browser window is **not** yet - supported).Click on the airplay icon in the YouTube app to stream - video. **Please report any issues with this new feature of UxPlay**. +- **NEW in v1.72**: Improved Support for (YouTube) HLS (HTTP Live + Streaming) video with the new "-hls" option (introduced in 1.71).\* + **Only streaming from the YouTube iOS app (in \"m3u8\" protocol) is + currently supported**: (streaming using the AirPlay icon in a + browser window is **not** yet supported).Click on the airplay icon + in the YouTube app to stream video. **Please report any issues with + this new feature of UxPlay**. *The default video player for HLS is GStreamer playbin v3: use "-hls 2" to revert to playbin v2 if some videos fail to play*. - - added support for setting a password (as an alternative to - on-screen pin codes) to control client access (-pw option) + - user-requested features: added support for setting a password + (as an alternative to on-screen pin codes) to control client + access (-pw option, see "man pw" or this README for details); + added support for setting initial client audio-streaming volume + (-vol option), and output of audio-mode metadata to file (for + display by some external process, -md option). + + **ISSUES** ***(Please help to solve if you have expertise)*** + + - in HLS video streaming from the YouTube app (-hls option), + rendered using GStreamer's media player "playbin3" (or playbin2, + with option -hls 2), we don't understand how to correctly deal + with "interstitials" (= 15 sec commercials) when "skip" is + pressed on the client. (HLS is handled by handlers in + lib/http_handlers.h) ## Highlights: @@ -773,22 +787,15 @@ complete GStreamer, but seems to have everything needed for UxPlay). installations in non-standard locations indicated by the environment variable `$HOMEBREW_PREFIX`.** -**Using GStreamer installed from MacPorts**: this is **not** -recommended, as currently the MacPorts GStreamer is old (v1.16.2), -unmaintained, and built to use X11: - -- Instead [build gstreamer - yourself](https://github.com/FDH2/UxPlay/wiki/Building-GStreamer-from-Source-on-macOS-with-MacPorts) - if you use MacPorts and do not want to use the "Official" Gstreamer - binaries. - -*(If you really wish to use the MacPorts GStreamer-1.16.2, install -pkgconf ("sudo port install pkgconf"), then "sudo port install +**Using GStreamer installed from MacPorts**: MacPorts is now providing +recent GStreamer releases: install pkgconf ("sudo port install +pkgconf"), then "sudo port install gstreamer1 gstreamer1-gst-plugins-base gstreamer1-gst-plugins-good -gstreamer1-gst-plugins-bad gstreamer1-gst-libav". For X11 support on -macOS, compile UxPlay using a special cmake option `-DUSE_X11=ON`, and -run it from an XQuartz terminal with -vs ximagesink; older non-retina -macs require a lower resolution when using X11: `uxplay -s 800x600`.)* +gstreamer1-gst-plugins-bad gstreamer1-gst-libav". (The following may no +longer be relevant: *For X11 support on macOS, compile UxPlay using a +special cmake option `-DUSE_X11=ON`, and run it from an XQuartz terminal +with -vs ximagesink; older non-retina macs require a lower resolution +when using X11: `uxplay -s 800x600`.)* After installing GStreamer, build and install uxplay: open a terminal and change into the UxPlay source directory ("UxPlay-master" for zipfile @@ -1690,9 +1697,11 @@ what version UxPlay claims to be. # Changelog -1.72 2025-05-15. Improved HLS Live Streaming (YouTube) support. Add +1.72 2025-05-03. Improved HLS Live Streaming (YouTube) support. Add support for password (HTTP Digest Authentication, -pw option) as -alternative to on-screen pin codes. +alternative to on-screen one-time pin codes. Add requested options -md +to export audio-mode metadata text to a file for display, and -vol for +setting initial audio-streaming volume on client. 1.72 2024-04-22 Add requested options -md \ to output audio metadata text to a file for possible display (complements -ca option), diff --git a/renderers/video_renderer.c b/renderers/video_renderer.c index efd9b9b..eae69f2 100644 --- a/renderers/video_renderer.c +++ b/renderers/video_renderer.c @@ -835,6 +835,9 @@ int video_renderer_choose_codec (bool video_is_h265) { logger_log(logger, LOGGER_DEBUG, "video_pipeline state change from %s to %s\n", gst_element_state_get_name (old_state),gst_element_state_get_name (new_state)); gst_video_pipeline_base_time = gst_element_get_base_time(renderer->appsrc); + if (renderer == renderer_type[1]) { + logger_log(logger, LOGGER_INFO, "*** video format is h265 high definition (HD/4K) video %dx%d", width, height); + } if (renderer_unused) { for (int i = 0; i < n_renderers; i++) { if (renderer_type[i] != renderer_unused) { diff --git a/uxplay.1 b/uxplay.1 index 8fede90..c2739ae 100644 --- a/uxplay.1 +++ b/uxplay.1 @@ -1,11 +1,11 @@ -.TH UXPLAY "1" "December 2024" "1.71" "User Commands" +.TH UXPLAY "1" "May 2025" "1.72" "User Commands" .SH NAME uxplay \- start AirPlay server .SH SYNOPSIS .B uxplay [\fI\,-n name\/\fR] [\fI\,-s wxh\/\fR] [\fI\,-p \/\fR[\fI\,n\/\fR]] [more \fI OPTIONS \/\fR ...] .SH DESCRIPTION -UxPlay 1.71: An open\-source AirPlay mirroring (+ audio streaming) server: +UxPlay 1.72: An open\-source AirPlay mirroring (+ audio streaming) server: .SH OPTIONS .TP .B diff --git a/uxplay.cpp b/uxplay.cpp index 03f16e6..4f6ae33 100644 --- a/uxplay.cpp +++ b/uxplay.cpp @@ -65,7 +65,7 @@ #include "renderers/video_renderer.h" #include "renderers/audio_renderer.h" -#define VERSION "1.712beta" +#define VERSION "1.72" #define SECOND_IN_USECS 1000000 #define SECOND_IN_NSECS 1000000000UL diff --git a/uxplay.spec b/uxplay.spec index 9dd17df..85b4f96 100644 --- a/uxplay.spec +++ b/uxplay.spec @@ -1,5 +1,5 @@ Name: uxplay -Version: 1.71.1 +Version: 1.72 Release: 1%{?dist} %global gittag v%{version} @@ -135,6 +135,8 @@ cd build %{_docdir}/%{name}/llhttp/LICENSE-MIT %changelog +* Thu May 1 2025 UxPlay maintainer + Update for 1.72 release * Fri Nov 15 2024 UxPlay maintainer Initial uxplay.spec: tested on Fedora 38, Rocky Linux 9.2, OpenSUSE Leap 15.5, Mageia 9, OpenMandriva ROME, PCLinuxOS