想要使用ffmpeg将视频从桌面发送到Wowza

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了想要使用ffmpeg将视频从桌面发送到Wowza相关的知识,希望对你有一定的参考价值。

我正在尝试使用ffmpeg将本地.mp4视频文件从笔记本电脑流式传输到Wowza Streaming Engine。两个系统都能够相互ping通。我在笔记本电脑上给出以下命令

ffmpeg -re -i bunny_1080p_60fps_normal.mp4 -vcodec libx264 -acodec aac -ar 48000 -strict experimental -f flv "rtmp://192.168.1.22:1935/live/myStream"

192.168.1.22是驻留在运行Ubuntu 17.04的另一个系统上的Wowza服务器的IP地址。

当我给出上述命令时,我在笔记本电脑的命令提示符下看到以下内容,

ffmpeg version N-89894-g18e2ac032e Copyright (c) 2000-2018 the FFmpeg developers
  built with gcc 7.2.0 (GCC)
  configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-bzlib --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libmfx --enable-amf --enable-cuda --enable-cuvid --enable-d3d11va --enable-nvenc --enable-dxva2 --enable-avisynth
  libavutil      56.  7.100 / 56.  7.100
  libavcodec     58.  9.100 / 58.  9.100
  libavformat    58.  5.101 / 58.  5.101
  libavdevice    58.  0.101 / 58.  0.101
  libavfilter     7. 11.101 /  7. 11.101
  libswscale      5.  0.101 /  5.  0.101
  libswresample   3.  0.101 /  3.  0.101
  libpostproc    55.  0.100 / 55.  0.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'bunny_1080p_60fps_normal.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 1
    compatible_brands: isomavc1
    creation_time   : 2013-12-16T17:59:32.000000Z
    title           : Big Buck Bunny, Sunflower version
    artist          : Blender Foundation 2008, Janus Bager Kristensen 2013
    comment         : Creative Commons Attribution 3.0 - http://bbb3d.renderfarming.net
    genre           : Animation
    composer        : Sacha Goedegebure
  Duration: 00:10:34.53, start: 0.000000, bitrate: 4486 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 4001 kb/s, 60 fps, 60 tbr, 60k tbn, 120 tbc (default)
    Metadata:
      creation_time   : 2013-12-16T17:59:32.000000Z
      handler_name    : GPAC ISO Video Handler
    Stream #0:1(und): Audio: mp3 (mp4a / 0x6134706D), 48000 Hz, stereo, s16p, 160 kb/s (default)
    Metadata:
      creation_time   : 2013-12-16T17:59:37.000000Z
      handler_name    : GPAC ISO Audio Handler
    Stream #0:2(und): Audio: ac3 (ac-3 / 0x332D6361), 48000 Hz, 5.1(side), fltp, 320 kb/s (default)
    Metadata:
      creation_time   : 2013-12-16T17:59:37.000000Z
      handler_name    : GPAC ISO Audio Handler
    Side data:
      audio service type: main
[rtmp @ 000001ed7c4108c0] No credentials set
[rtmp @ 000001ed7c4108c0] Server error: [ AccessManager.Reject ] : [ code=403 need auth; authmod=adobe ] :
rtmp://192.168.1.22:1935/live/myStream: Unknown error occurred

任何人都可以告诉我将视频文件流式传输到Wowza的确切步骤。

我如何在Wowza查看流?

答案

看起来像编码器的RTMP身份验证已启用?在这种情况下,您需要为要连接的给定实时应用程序禁用它或提供凭据。

对于第一种方案,请根据https://www.wowza.com/docs/how-to-enable-username-password-authentication-for-rtmp-and-rtsp-publishing删除身份验证

对于第二种方案,请修改FFmpeg命令行以合并凭据:

ffmpeg -re -i bunny_1080p_60fps_normal.mp4 -vcodec libx264 -acodec aac -ar 48000 -strict experimental -f flv "rtmp://192.168.1.22:1935/live/myStream flashver=FMLE/3.020(compatible;20FMSc/1.0) live=true pubUser=xxx pubPasswd=yyy"

其中xxx是用户名,yyy是密码。

以上是关于想要使用ffmpeg将视频从桌面发送到Wowza的主要内容,如果未能解决你的问题,请参考以下文章

Android - 在使用WebRTC发送到Wowza Streaming Engine之前旋转视频帧

从 Wowza 到 iOS 的 RTMP 直播

直播 - HLS + RTSP 使用 Video.js (Wowza 服务器)

从 Android 设备到 Wowza 服务器的实时流传输协议?

直播 RTMP/RTSP 播放器,无需在 Android 上使用 webview(WOWZA 服务器)

FFmpeg 录制桌面麦克风摄像头