Pass processed frame to the next layers. This mean we do not want to rotate the frame in next layers anymore. After rotating the I420 frame, set value of the rotation to 0. Make sure the I420 frame has valid side in portrait mode.īuffer_pool_.CreateBuffer(height, width) įinal_buffer->ScaleFrom(*rotated_buffer) Value of the rotation is 90 or 270 based on camera orientation. Wowza Live Streaming for live broadcasts and live events, with Wowza Live Streaming your broadcasts have high quality.
TODO: The custom code to rotate video frame before passing The server is used for streaming of live and on-demand video, audio, and rich Internet applications over IP networks to desktop, laptop, and.
OnFrame(VideoFrame(buffer, rotation, translated_camera_time_us)) Wowza Streaming Engine (known as Wowza Media Server prior to version 4) is a unified streaming media server software developed by Wowza Media Systems. TODO: Comment out this line of code to apply custom code. Модифицированных Версия: void AndroidVideoTrackSource::OnByteBufferFrameCaptured(const void* frame_data, Оригинальная Версия: void AndroidVideoTrackSource::OnByteBufferFrameCaptured(const void* frame_data, TODO: Rotate I420 frame 90 degrees clockwise. Я добавил эту строку кода для поворота кадра I420 на 90 градусов по часовой стрелке. Media Streaming Engine, which is referred to as Wowza Streaming Engine or Wowza Media Server, provides interactive capabilities, live video streaming, remote recording, and chat tools to all types of media players. OnFrame(VideoFrame(rotated_buffer, rotation, translated_camera_time_us)) I420Buffer::Rotate(*buffer, kVideoRotation_90) Swap U and V, since we have NV21, not NV12.īuffer->MutableDataV(), buffer->StrideV(), buffer->MutableDataU(),īuffer->StrideU(), buffer->width(), buffer->height()) Y_plane, width, uv_plane, uv_width * 2, crop_width, crop_height,īuffer->MutableDataY(), buffer->StrideY(),
RTC_CHECK_GE(length, width * height + 2 * uv_width * ((height + 1) / 2)) īuffer_pool_.CreateBuffer(adapted_width, adapted_height) &adapted_height, &crop_width, &crop_height, &crop_x,Ĭonst uint8_t* y_plane = static_cast(frame_data) Ĭonst uint8_t* uv_plane = y_plane + width * height
If (!AdaptFrame(width, height, camera_time_us, &adapted_width, Timestamp_aligner_.TranslateTimestamp(camera_time_us, rtc::TimeMicros()) Int64_t camera_time_us = timestamp_ns / rtc::kNumNanosecsPerMicrosec RTC_DCHECK(camera_thread_checker_.CalledOnValidThread()) ~/webrtc/src/sdk/android/src/jni / void AndroidVideoTrackSource::OnByteBufferFrameCaptured(const void* frame_data, Video On Demand With Wowza Streaming Engine.
This tutorial walks you through how to apply for and configure a SSL Certificate, set up WebRTC via Wowz.
GoCoder Private Label and GoCoder SDK are also available directly from Wowza (for anyone interested in custom branding and/or who wants to develop their own custom app.Я хочу транслировать видео с камеры android на Wowza Streaming Engine (WSE) с помощью WebRTC. Connect the Wowza GoCoder app to Wowza Streaming Engine™ software or the Wowza Streaming Cloud™ service to capture and stream live audio and video content in real time over Wi-Fi, 4G, or 3G. Use the Wowza GoCoder app to broadcast HD-quality live events on the go from any location to any screen using H.264 adaptive bitrate streaming.
The Wowza GoCoder™ app from Wowza Media Systems™ is a live audio and video capture and encoding application for Android 4.4 and later.