gpt4 book ai didi

video - ffmpeg 将 rtp 转换为 mp4(http) 流

转载 作者:行者123 更新时间:2023-12-03 16:42:50 28 4
gpt4 key购买 nike

我想使用 ffmpeg 将 RTP 流转码为 MP4(HTTP) 流,所以我可以在 html 视频标签中播放,

但我只能成功转码为flv格式。

以下是我的设置:

[/etc/ffserver.conf]

...

<Feed feed1.ffm>
File /tmp/feed1.ffm
FileMaxSize 5M
ACL allow localhost
</Feed>

<Stream flv>
Feed feed1.ffm
Format flv
VideoFrameRate 40
VideoBitRate 128
VideoSize 1920x1080
AVOptionVideo flags +global_header
AudioBitRate 24
AudioChannels 2
AudioSampleRate 44100
AVOptionAudio flags +global_header
</Stream>

<Stream mp4>
Feed feed1.ffm
Format mp4
VideoFrameRate 40
VideoBitRate 128
VideoSize 1920x1080
AVOptionVideo flags +global_header
AudioBitRate 24
AudioChannels 2
AudioSampleRate 44100
AVOptionAudio flags +global_header
</Stream>

<Stream avi>
Feed feed1.ffm
Format avi
VideoFrameRate 40
VideoBitRate 128
VideoSize 1920x1080
AVOptionVideo flags +global_header
AudioBitRate 24
AudioChannels 2
AudioSampleRate 44100
AVOptionAudio flags +global_header
</Stream>

[命令]
$ ffserver -d -f /etc/ffserver.conf

$ ffmpeg -i MY_RTP_SOURCE http://localhost:8090/feed1.ffm

[其他信息]
  • 输入格式

  • $ ffprobe -i MY_RTP_SOURCE

    输入 #0,rtp,来自 'MY_RTP_SOURCE':
    时长:N/A,开始:47175.696200,比特率:N/A
    程序 1
    流 #0:1:视频:h264(高)(HDMV/0x564D4448)、yuv420p、1920x1080、25 tbr、90k tbn
    流 #0:0:音频:aac (LC),44100 Hz,立体声,fltp,255 kb/s

  • 访问时出现 AVI 错误消息(在 ffserver)

  • 2016 年 2 月 17 日星期三 17:09:16 127.0.0.1 - - 新连接:GET/avi
    2016 年 2 月 17 日星期三 17:09:16 [avi @ 0x7fac8b800150] 跳帧数量过多 873420092564 > 60000
    2016 年 2 月 17 日星期三 17:09:16 将帧写入流“avi”的输出时出错:参数无效
    2016 年 2 月 17 日星期三 17:09:16 [avi @ 0x7fac8b800150] 跳帧数量过多 873420092564 > 60000
    2016 年 2 月 17 日星期三 17:09:16 127.0.0.1 - - [GET] "/avi HTTP/1.1"200 2598

  • 访问时的 MP4 错误消息(在 ffserver)

  • 2016 年 2 月 17 日星期三 17:09:56 127.0.0.1 - - 新连接:GET/mp4
    2016 年 2 月 17 日星期三 17:09:56 [mp4 @ 0x7fac8c000150]muxer 不支持不可搜索的输出
    2016 年 2 月 17 日星期三 17:09:56 为流“mp4”写入输出 header 时出错:参数无效
    2016 年 2 月 17 日星期三 17:09:56 127.0.0.1 - - [GET] "/mp4 HTTP/1.1"200 62
  • 我的ffmpeg版本

  • ffmpeg 版本 2.8.6 版权所有 (c) 2000-2016 FFmpeg 开发者
    使用 Apple LLVM 版本 7.0.2 (clang-700.1.81) 构建
    配置: --prefix=/usr/local/Cellar/ffmpeg/2.8.6 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-opencl --enable-libx264 --enable-libmp3lame --enable-libvo-aacenc --enable-libxvid --enable-vda
    libavutil 54. 31.100/54. 31.100
    libavcodec 56. 60.100/56. 60.100
    libavformat 56. 40.101/56. 40.101
    libav 设备 56. 4.100/56. 4.100
    libavfilter 5. 40.101/5. 40.101
    libavresample 2. 1. 0/2. 1. 0
    libswscale 3. 1.101/3. 1.101
    libswresample 1. 2.101/1. 2.101
    libpostproc 53. 3.100/53. 3.100

    如果有人知道如何解决它或需要更多信息,请告诉我,谢谢!

    最佳答案

    我终于得到了解决方案!

    使用 ffserver(将 rtp 流转换为 http)+ videojs (在 html 中播放 flv 视频)

    我的 /etc/ffserver.conf

    HTTPPort 8090
    HTTPBindAddress 0.0.0.0
    MaxHTTPConnections 2000
    MaxClients 1000
    MaxBandwidth 40000
    CustomLog -

    UseDefaults

    <Feed feed1.ffm>
    File /tmp/feed1.ffm
    FileMaxSize 50M
    </Feed>

    <Stream stream>
    Feed feed1.ffm
    Format flv
    VideoFrameRate 24
    VideoBitRate 32768
    VideoSize 1280x720
    AVOptionVideo flags +global_header
    AudioBitRate 24
    AudioChannels 1
    AudioSampleRate 44100
    AVOptionAudio flags +global_header
    </Stream>

    我的命令

    ffserver
    $ ffserver -d -f /etc/ffserver.conf
    ffmpeg
    $ ffmpeg -i rtp://MY_RTP_RESOURCE http://localhost:8090/feed1.ffm
    我的演示页面
    <head>
    <link href="http://vjs.zencdn.net/c/video-js.css" rel="stylesheet">
    <script src="http://vjs.zencdn.net/c/video.js"></script>
    </head>
    <body>
    <video id="video1" class="video-js vjs-default-skin" width="640" height="360"
    data-setup='{"controls" : true, "autoplay" : true, "preload" : "auto"}'>
    <source src="http://10.10.3.108:8090/stream" type="video/x-flv">
    </video>
    </body>

    关于video - ffmpeg 将 rtp 转换为 mp4(http) 流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35452737/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com