【问题标题】:ffmpeg convert rtp to mp4(http) streamingffmpeg 将 rtp 转换为 mp4(http) 流
【发布时间】:2016-02-24 18:15:58
【问题描述】:
我想使用 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”写入输出标头时出错:参数无效
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
如果有人知道如何解决或需要更多信息,请告诉我,谢谢!
【问题讨论】:
标签:
video
ffmpeg
streaming
rtp