Announcement

Collapse
No announcement yet.

OBS Studio Lands AV1 & HEVC RTMP Streaming Support

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • OBS Studio Lands AV1 & HEVC RTMP Streaming Support

    Phoronix: OBS Studio Lands AV1 & HEVC RTMP Streaming Support

    In time for OBS Studio 29.1, the Veovera Software Organization non-profit has contributed support for AV1 and HEVC streaming via RTMP so that gamers and other creators can stream their content to the YouTube RTMP server using these newer video formats...

    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite

  • #2
    Any idea if one could get this to work with the nginx RTMP plugin and playback using ffmpeg?
    Streaming H264 to my friends with slow internet connections leaves quite a bit of room for improvement.

    Comment


    • #3
      Originally posted by tambre View Post
      Any idea if one could get this to work with the nginx RTMP plugin and playback using ffmpeg?
      Streaming H264 to my friends with slow internet connections leaves quite a bit of room for improvement.
      Ask ChatGPT4

      Comment


      • #4
        Originally posted by avis View Post

        Ask ChatGPT4
        Done:
        Yes, you can use the nginx RTMP plugin along with OBS Studio's AV1 and HEVC RTMP streaming support to improve the streaming experience for your friends with slow internet connections. Since OBS Studio 29.1 supports AV1 and HEVC codecs for RTMP, you can configure your nginx server with the RTMP module to accept these codecs as input streams.

        To get this setup working:
        1. Install and configure the nginx server with the RTMP module. You can follow this guide for a basic setup: https://github.com/arut/nginx-rtmp-module
        2. In OBS Studio, configure the output settings to use either the AV1 or HEVC codec, depending on your preference and hardware support. Choose the appropriate bitrate for your friends' internet connections.
        3. Set the stream output in OBS Studio to point to your nginx server with the RTMP URL, for example: rtmp://your-nginx-server-ip/live/stream-key
        For playback, use FFmpeg to consume the RTMP stream from your nginx server and decode it. You can use the following command as a starting point:‚Äč

        Code:
        ffmpeg -i rtmp://your-nginx-server-ip/live/stream-key -c:v libx264 -preset fast -b:v 1000k -maxrate 1200k -bufsize 1200k -vf "scale=1280:720" -c:a aac -b:a 128k -f flv rtmp://destination-url
        This command will transcode the input stream to H.264 with a suitable bitrate for slower connections. Replace the destination-url with the desired playback destination. You can also modify the FFmpeg command to suit your specific needs and adjust the output quality accordingly. Keep in mind that AV1 encoding and decoding can be computationally expensive, so ensure that your hardware can handle it in real-time for a smooth streaming experience.
        The transcoding in the ffmpeg command is quite pointless. Looking at the RTMP plugin code however, HEVC/AV1 support definitely seems missing, so I don't think this would work.

        Comment


        • #5
          Originally posted by avis View Post

          Ask ChatGPT4
          Which at this point is back to "just google it".

          In all seriousness, this is why I love open source community. Time and resources are used as far as the common man is interested in helping in providing with code.

          Comment


          • #6
            tambre :

            I think that was meant to be a joke since you never know without wasting your time on the answer if the bot is just lying with the supreme confidence of a Liar in Chief as you just discovered (with no surprise to me).

            More on topic, if my friends were on constrained bandwidth I would also be concerned that they wouldn't be able to efficiently decode anything newer than h.264. It's great that OBS is moving towards integrating support for newer codecs, but when creating media one has to also take into thought the experience of the majority of one's end users. Very few are going to have hardware decoding for AV1 or HEVC unless you're targeting Apple device users. One step forward in to be ready to create then wait on new video hardware to trickle down over the next few years. It'll be a long wait. Most people sit 3+ years on desktop hardware and increasingly so on mobile devices because of their expense.

            Comment


            • #7
              What is the story with AV1 VAAPI encoding for RDNA3? Can't find any info on it.

              Comment


              • #8
                Originally posted by stormcrow View Post
                tambre :

                I think that was meant to be a joke since you never know without wasting your time on the answer if the bot is just lying with the supreme confidence of a Liar in Chief as you just discovered (with no surprise to me).

                More on topic, if my friends were on constrained bandwidth I would also be concerned that they wouldn't be able to efficiently decode anything newer than h.264. It's great that OBS is moving towards integrating support for newer codecs, but when creating media one has to also take into thought the experience of the majority of one's end users. Very few are going to have hardware decoding for AV1 or HEVC unless you're targeting Apple device users. One step forward in to be ready to create then wait on new video hardware to trickle down over the next few years. It'll be a long wait. Most people sit 3+ years on desktop hardware and increasingly so on mobile devices because of their expense.
                Actually on Twitch / YouTube / other livestreaming sites which are where the vast majority of RTMP usage exists in terms of bandwidth and cost, the streams are transcoded so this provides the most benefit to the streamer and then also provides a big benefit to the sub-1080p-quality streams which are frequently full of artifacts etc. Then of course those whose devices support AV1 and/or HEVC can receive those formats and save the streaming service money which adds up very quickly and will only increase over time. I think the least benefit goes to the average stream watcher actually.
                Last edited by AlanTuring69; 27 March 2023, 11:23 AM.

                Comment


                • #9
                  Originally posted by AlanTuring69 View Post

                  Actually on Twitch / YouTube / other livestreaming sites which are where the vast majority of RTMP usage exists in terms of bandwidth and cost, the streams are transcoded so this provides the most benefit to the streamer and then also provides a big benefit to the sub-1080p-quality streams which are frequently full of artifacts etc. Then of course those whose devices support AV1 and/or HEVC can receive those formats and save the streaming service money which adds up very quickly and will only increase over time. I think the least benefit goes to the average stream watcher actually.
                  Cool. Didn't know that. Learned something new.

                  Comment


                  • #10
                    Originally posted by AlanTuring69 View Post

                    Actually on Twitch / YouTube / other livestreaming sites which are where the vast majority of RTMP usage exists in terms of bandwidth and cost, the streams are transcoded so this provides the most benefit to the streamer and then also provides a big benefit to the sub-1080p-quality streams which are frequently full of artifacts etc. Then of course those whose devices support AV1 and/or HEVC can receive those formats and save the streaming service money which adds up very quickly and will only increase over time. I think the least benefit goes to the average stream watcher actually.

                    It may even be a regression for the "average" user.

                    If they could normally watch the original full-resolution h.264 stream, but cant handle the HEVC/AV1 stream for whatever reason, they now have to fall back to a transcoded h.264 stream.

                    Comment

                    Working...
                    X