Мне нужно создать полуживой поток. Я использовал модуль Nginx-rtmp, а затем переместил его содержимое через ffmpeg, используя:
ffmpeg -re -i content.mp4 -r 25 -f fvl "rtmp://rtmp.server.here"
Поток отлично работает, когда я открываю его в VLC из "rtmp://rtmp.server.here"
Но мне также приходится создавать приложения для iPhone и Android, которые играют эти потоки. И эта проблема, поток не работает на Android и iPhone.
Если я использую потоковое облако Wowza и поток в облако Wowza вместо моего собственного сервера nginx-rtmp, то одно и то же приложение, написанное для Android и iPhone, может воспроизводить поток просто отлично.
Теперь либо nginx-rtmp работает неправильно, либо что-то еще? Я также пробовал crtmpserver, и то же самое происходит.
Что я хочу достичь: Мне нужно разработать систему, в которой мы можем восходить к ТВ-каналу (иметь права на него) на сервер, а затем создавать веб-сайт, приложение для Android и приложение для iPhone, чтобы потребители могли смотреть живой канал.
Загружая часть, я имею в виду, возможно, карту ТВ-тюнера и Open Broadcast Software, чтобы передать ее на сервер. Но Live-воспроизведение для меня нова.
ОБНОВЛЕНИЕ: Я также использовал ffprobe и здесь вывод. (См. Последнюю строку)
[email protected]:~$ ffprobe rtmp://rtmp.server.here
ffprobe version 2.6.2 Copyright (c) 2007-2015 the FFmpeg developers
built with gcc 4.8 (Ubuntu 4.8.2-19ubuntu1)
configuration: --extra-libs=-ldl --prefix=/opt/ffmpeg --enable-avresample --disable-debug --enable-nonfree --enable-gpl --enable-version3 --enable-libopencore-amrnb --enable-libopencore-amrwb --disable-decoder=amrnb --disable-decoder=amrwb --enable-libpulse --enable-libx264 --enable-libx265 --enable-libfdk-aac --enable-libvorbis --enable-libmp3lame --enable-libopus --enable-libvpx --enable-libspeex --enable-libass --enable-avisynth --enable-libsoxr --enable-libxvid --enable-libvo-aacenc --enable-libvidstab
libavutil 54. 20.100 / 54. 20.100
libavcodec 56. 26.100 / 56. 26.100
libavformat 56. 25.101 / 56. 25.101
libavdevice 56. 4.100 / 56. 4.100
libavfilter 5. 11.102 / 5. 11.102
libavresample 2. 1. 0 / 2. 1. 0
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 1.100 / 1. 1.100
libpostproc 53. 3.100 / 53. 3.100
[flv @ 0x267cc60] Stream discovered after head already parsed
Last message repeated 1 times
Input #0, flv, from 'rtmp://stage.funworldpk.com/live':
Metadata:
Server : NGINX RTMP (github.com/arut/nginx-rtmp-module)
displayWidth : 320
displayHeight : 240
fps : 20
profile :
level :
Duration: 00:00:00.00, start: 288.763000, bitrate: N/A
Stream #0:0: Video: h264 (High), yuv420p, 320x240 [SAR 1:1 DAR 4:3], 20 fps, 20 tbr, 1k tbn, 40 tbc
Stream #0:1: Data: none
Stream #0:2: Audio: aac (LC), 22050 Hz, stereo, fltp
Unsupported codec with id 0 for input stream 1
Обновление 2: Я получил свой поток, используя Лицензионную копию потокового сервера Wowza. Сейчас все работает. Но, очевидно, это не будет выбором для всех, почему я не отправляю его в качестве ответа.