Проблемы с WSS потоком

Ivan

Member
Писал в другой теме, но думаю лучше тут продолжать.
У нас сейчас получается вот такая интересная вещь:
Работаем с нашим тестовым плеером (https://vichatter.com/flashplayer/) и Вашим сервером.
Вот видео того что я делаю.

1-ый раз - WSS поток звук плохой
2-ой раз - WSS поток звук хороший
когда звук плохой на сервере валятся вот такие ошибки:
Code:
07:19:50,266 WARN dioEncoder-PCMU/8000 - AudioDistributor-PCMU-f6bf9d56-569e-4248-8c7a-f6a26e52d73f Not enough data in audio buffer, current data size 1
07:19:50,266 WARN dioEncoder-PCMU/8000 - AudioDistributor-PCMU-df7fea93-3f54-42ae-9e14-e2292b37da87 Input data null
во второй раз, когда звук хороший, этих ошибок нет.

Вы можете воспроизвести это из нашего плеера: (https://vichatter.com/flashplayer/)
 

Max

Administrator
Staff member
Мы протестировали и воспроизвели эту проблему с вашим Flash-приложением.
Логи сервера показывают, что при первой публикации стрима идет аудио поток Speex 2 фрейма на пакет.
Code:
mic.framesPerPacket=2;
А при второй публикации потока идет Speex 1 фрейм на пакет.
Code:
mic.framesPerPacket=1;
Поэтому пока предполагаем, что проблема в коде вашего приложения.
WCS принимает следующие конфигурации кодеков:
Speex
mic.framesPerPacket=1;
Ulaw, Alaw
mic.framesPerPacket=2;
Проверьте пожалуйста в коде вашего приложения.
Если там все хорошо, пришлите нам код приложения на адрес logs@flashphoner.com, мы проверим еще раз.
 

Ivan

Member
Спасибо!
У нас получилось найти и исправить плеер. Звук работает.

Но мы теперь столкнулись с новой проблемой HLS поток не проигрывается.
Вы можете с нашего плеера отправить поток на Ваш сервер и попробовать проиграть HLS
 

Max

Administrator
Staff member
Вы можете с нашего плеера отправить поток на Ваш сервер и попробовать проиграть HLS
Да, работает.
1. Публикуем поток
https://vichatter.com/flashplayer/
RTMP URL: rtmp://wcs5-eu.flashphoner.com:1935
Name: 555
publish-rtmp.jpg

2. Воспроизводим в HLS-плеере.
https://wcs5-eu.flashphoner.com/demo2/hls-player
WSS URL: https://wcs5-eu.flashphoner.com:8445
Name: 555

play-hls.jpg

Мы недавно заменили HLS плеер на video.js и сделали несколько фиксов по HLS в последних версиях сервера.
Исходники нового плеера находятся здесь:
https://github.com/flashphoner/flas...cs_api-2.0/examples/demo/streaming/hls-player
Сборка сервера, с которой тестировали HLS: 2246
 

Ivan

Member
На вашем сервере у меня заработало!
Установил последнюю версию.
Но посмотреть HLS поток не получается



Code:
09:30:48,927 INFO     FFHLSOutputWriter - Thread-622 Started
09:30:48,927 INFO        FFOutputWriter - Thread-622 Init output writer '/usr/local/FlashphonerWebCallServer/hls/dGVzdDU=/dGVzdDU='
09:30:48,927 INFO  7f-b43d-25d17fd9fdf4 - AudioDistributor-mpeg4-generic-b52c10e6-f7bc-4b7f-b43d-25d17fd9fdf4 Starting with queue size 0
09:30:48,939 INFO        FFOutputWriter - Thread-622 Writer has been successfully connected
09:30:48,939 INFO     FFHLSOutputWriter - Thread-622 Init success
09:30:48,951 INFO  7f-b43d-25d17fd9fdf4 - VideoDistributor-H264-640x480-b52c10e6-f7bc-4b7f-b43d-25d17fd9fdf4 Starting with queue size 0
09:30:48,951 INFO     HLSStreamProvider - HLS-HTTPS-pool-15-thread-11 notifyStreamStatusEvent: Stream{mediaSessionId='dGVzdDU=-HLS'name='test5', status='PLAYING', sdp='v=0
09:30:48,972 INFO   WCS4CallbackHandler - VideoDistributor-H264-640x480-b52c10e6-f7bc-4b7f-b43d-25d17fd9fdf4 notifyVideoFormat format: VideoFormat{playerVideoWidth=320, playerVideoHeight=240, streamerVideoHeight=480, streamerVideoWidth=640, playerBitrate=0, streamerBitrate=0, quality=0}; user - 4flk43hapk5oq99gijetiul0ap@null
09:30:48,974 WARN     VideoEncoder-H264 - VideoDistributor-H264-640x480-b52c10e6-f7bc-4b7f-b43d-25d17fd9fdf4 Transcoder result null!
09:30:48,974 WARN  deoSessionGroup-H264 - VideoDistributor-H264-640x480-b52c10e6-f7bc-4b7f-b43d-25d17fd9fdf4 Packet encoder returned empty result!
CONF: ClientConfig{rtspMedia=false, wsTunnel=false, login='4flk43hapk5oq99gijetiul0ap', authenticationName='null', password='null', domain='null', outboundProxy='null', localPort=-1, port=0, visibleName='null', regRequired=false, applicationName='null', swfUrl='null', useProxy=true, qValue='null', pAssociatedUri='null', contactParams='null', authDate=Fri May 26 09:30:48 EDT 2017, authToken='dGVzdDU=-HLS', logsFolderName='null', clientVersion='null', clientOSVersion='null', clientBrowserVersion='null', wsTunnelPacketization2='false', custom='{}'}
 

Max

Administrator
Staff member
У нас в настройках сервера flashphoner.properties приоритетный кодек H.264
Code:
codecs=opus,alaw,ulaw,g729,speex16,g722,mpeg4-generic,telephone-event,h264,vp8,flv,mpv
Возможно поэтому там работает, а у вас нет. Что у вас в этой настройке прописано?
По нашим тестам, VP8 лучше для публикующих WebRTC потоков.
H.264 лучше для совместимости, например с HLS и Flash.
 

Ivan

Member
Поменял местами h264 и vp8 - не помогло, hls не проигрывается.
Логи при подключении к hls:
Code:
 HLSServerHandler - HLS-HTTPS-pool-15-thread-11 Stream not found by path /usr/local/FlashphonerWebCallServer/hls/YWFhNDQ0/YWFhNDQ0
09:02:50,946 INFO      HLSStreamManager - HLS-HTTPS-pool-15-thread-11 Added com.flashphoner.server.B.A@4dc5a60f by stream name YWFhNDQ0
09:02:50,946 INFO           WCS4Handler - HLS-HTTPS-pool-15-thread-11 onConnect client: com.flashphoner.server.B.A@4dc5a60f
09:02:50,946 INFO           WCS4Handler - HLS-HTTPS-pool-15-thread-11 Connected client: ClientConfig{rtspMedia=false, wsTunnel=false, login='g965k0c32v37kpcn9a4n39l3us', authenticationName='null', password='null', domain='null', outboundProxy='null', localPort=-1, port=0, visibleName='null', regRequired=false, applicationName='null', swfUrl='null', useProxy=true, qValue='null', pAssociatedUri='null', contactParams='null', authDate=Mon May 29 09:02:50 EDT 2017, authToken='YWFhNDQ0-HLS', logsFolderName='null', clientVersion='null', clientOSVersion='null', clientBrowserVersion='null', wsTunnelPacketization2='false', custom='{}'}
09:02:50,946 INFO     HLSStreamProvider - HLS-HTTPS-pool-15-thread-11 HLS connected to server, id:YWFhNDQ0-HLS
09:02:50,946 INFO          MediaHandler - HLS-HTTPS-pool-15-thread-11 playHLSStream - Stream{mediaSessionId='YWFhNDQ0-HLS'name='aaa444', status='NEW', sdp='v=0
09:02:50,946 INFO                Codecs - HLS-HTTPS-pool-15-thread-11 codecs: opus,alaw,ulaw,g729,speex16,g722,mpeg4-generic,h264,vp8,mpv
09:02:50,946 INFO                Codecs - HLS-HTTPS-pool-15-thread-11 load codec: opus priority: 9900
09:02:50,946 INFO                Codecs - HLS-HTTPS-pool-15-thread-11 load codec: alaw priority: 9800
09:02:50,946 INFO                Codecs - HLS-HTTPS-pool-15-thread-11 load codec: ulaw priority: 9700
09:02:50,946 INFO                Codecs - HLS-HTTPS-pool-15-thread-11 load codec: g729 priority: 9600
09:02:50,946 INFO                Codecs - HLS-HTTPS-pool-15-thread-11 load codec: speex16 priority: 9500
09:02:50,946 INFO                Codecs - HLS-HTTPS-pool-15-thread-11 load codec: g722 priority: 9400
09:02:50,946 INFO                Codecs - HLS-HTTPS-pool-15-thread-11 AAC codec loaded, pt 102 sr 8000
09:02:50,946 INFO                Codecs - HLS-HTTPS-pool-15-thread-11 AAC codec loaded, pt 103 sr 11025
09:02:50,946 INFO                Codecs - HLS-HTTPS-pool-15-thread-11 AAC codec loaded, pt 104 sr 12000
09:02:50,946 INFO                Codecs - HLS-HTTPS-pool-15-thread-11 AAC codec loaded, pt 105 sr 16000
09:02:50,946 INFO                Codecs - HLS-HTTPS-pool-15-thread-11 AAC codec loaded, pt 106 sr 22050
09:02:50,947 INFO                Codecs - HLS-HTTPS-pool-15-thread-11 AAC codec loaded, pt 107 sr 24000
09:02:50,947 INFO                Codecs - HLS-HTTPS-pool-15-thread-11 AAC codec loaded, pt 108 sr 32000
09:02:50,947 INFO                Codecs - HLS-HTTPS-pool-15-thread-11 AAC codec loaded, pt 109 sr 44100
09:02:50,947 INFO                Codecs - HLS-HTTPS-pool-15-thread-11 AAC codec loaded, pt 110 sr 48000
09:02:50,947 INFO                Codecs - HLS-HTTPS-pool-15-thread-11 load codec: vp8 priority: 9100
09:02:50,947 INFO                Codecs - HLS-HTTPS-pool-15-thread-11 load codec: mpv priority: 9000
09:02:50,947 INFO                Codecs - HLS-HTTPS-pool-15-thread-11 codecs: [opus [], PCMA [], PCMU [], G729 [A annexb:no], speex [], G722 [], mpeg4-generic [A profile-level-id:1, A mode:HBR], mpeg4-generic [A profile-level-id:1, A mode:HBR], mpeg4-generic [A profile-level-id:1, A mode:HBR], mpeg4-generic [A profile-level-id:1, A mode:HBR], mpeg4-generic [A profile-level-id:1, A mode:HBR], mpeg4-generic [A profile-level-id:1, A mode:HBR], mpeg4-generic [A profile-level-id:1, A mode:HBR], mpeg4-generic [A profile-level-id:1, A mode:HBR], mpeg4-generic [A profile-level-id:1, A mode:HBR], H264 [A packetization-mode:1, A profile-level-id:42e01f], H264 [A packetization-mode:0, A profile-level-id:42e01f], VP8 [], MPV []]
09:02:50,947 INFO          MediaSession - HLS-HTTPS-pool-15-thread-11 Setting requested video resolution
09:02:50,947 INFO          MediaSession - HLS-HTTPS-pool-15-thread-11 Setting requested video quality 0
09:02:50,947 WARN          MediaSession - HLS-HTTPS-pool-15-thread-11 useAVGenerator Session description is unavailable!
09:02:50,947 INFO        RtpVideoConfig - HLS-HTTPS-pool-15-thread-11 PlayerVideoResolution C 640x480, StreamerVideoResolution C 0x0
09:02:50,947 INFO        RtpVideoConfig - HLS-HTTPS-pool-15-thread-11 Force client requested resolution:C 640x480
09:02:50,947 INFO      RtpVideoStreamer - HLS-HTTPS-pool-15-thread-11 Init Streamer - ########################
09:02:50,947 INFO  cketStreamTranscoder - HLS-HTTPS-pool-15-thread-11 Init PacketProviders with - ########################
09:02:50,947 WARN          MediaSession - HLS-HTTPS-pool-15-thread-11 useAVGenerator Session description is unavailable!
09:02:50,947 INFO          VideoSession - HLS-HTTPS-pool-15-thread-11 CLEAR and SEND CACHE (size=0)
09:02:50,948 INFO       AudioSdpFactory - HLS-HTTPS-pool-15-thread-11 proxySession: Session{secured=false, terminated=false, localPort=31342, rtcpMux=false, sdpState=recvonly}
09:02:50,949 INFO   WCS4CallbackHandler - HLS-HTTPS-pool-15-thread-11 notifyAudioCodec speex g965k0c32v37kpcn9a4n39l3us@null
09:02:50,952 INFO    AbstractRtpSession - HLS-HTTPS-pool-15-thread-11 Create Rtp Session - /93.95.103.104:31346 - /93.95.103.104:31347
09:02:50,955 INFO        RtpVideoConfig - HLS-HTTPS-pool-15-thread-11 PlayerVideoResolution C 640x480, StreamerVideoResolution C 0x0
09:02:50,955 INFO        RtpVideoConfig - HLS-HTTPS-pool-15-thread-11 Force client requested resolution:C 640x480
09:02:50,956 INFO    AbstractRtpSession - HLS-HTTPS-pool-15-thread-11 Create Rtp Session - /93.95.103.104:31348 - /93.95.103.104:31349
09:02:50,957 INFO          MediaSession - HLS-HTTPS-pool-15-thread-11 Start rtp activity detecting for audio session YWFhNDQ0-HLS
09:02:50,957 INFO        RtpAudioPlayer - HLS-HTTPS-pool-15-thread-11 Rtp activity detecting started, port 31346
09:02:50,959 INFO          AudioSession - HLS-HTTPS-pool-15-thread-11 forceRtmpAudioCodec null -1
09:02:50,959 INFO          MediaSession - HLS-HTTPS-pool-15-thread-11 HLS WRITER STARTED
09:02:50,959 INFO     FFHLSOutputWriter - Thread-630 Started
09:02:50,960 INFO        FFOutputWriter - Thread-630 Init output writer '/usr/local/FlashphonerWebCallServer/hls/YWFhNDQ0/YWFhNDQ0'
09:02:50,960 INFO  3d-b162-0ea3e9a2b7b3 - AudioDistributor-mpeg4-generic-3d03533c-4a71-4c3d-b162-0ea3e9a2b7b3 Starting with queue size 0
09:02:50,971 INFO        FFOutputWriter - Thread-630 Writer has been successfully connected
09:02:50,971 INFO     FFHLSOutputWriter - Thread-630 Init success
09:02:50,982 INFO  3d-b162-0ea3e9a2b7b3 - VideoDistributor-H264-640x480-3d03533c-4a71-4c3d-b162-0ea3e9a2b7b3 Starting with queue size 0
09:02:50,982 INFO        VideoProcessor - HLS-HTTPS-pool-15-thread-11 Request K-Frame from far end
09:02:50,982 WARN          VideoSession - HLS-HTTPS-pool-15-thread-11 Can't send rtcp video feedback PLI, no support at far end
09:02:50,983 INFO     HLSStreamProvider - HLS-HTTPS-pool-15-thread-11 notifyStreamStatusEvent: Stream{mediaSessionId='YWFhNDQ0-HLS'name='aaa444', status='PLAYING', sdp='v=0
09:02:51,663 INFO   WCS4CallbackHandler - VideoDistributor-H264-640x480-3d03533c-4a71-4c3d-b162-0ea3e9a2b7b3 notifyVideoFormat format: VideoFormat{playerVideoWidth=320, playerVideoHeight=240, streamerVideoHeight=480, streamerVideoWidth=640, playerBitrate=0, streamerBitrate=0, quality=0}; user - g965k0c32v37kpcn9a4n39l3us@null
09:02:51,665 WARN     VideoEncoder-H264 - VideoDistributor-H264-640x480-3d03533c-4a71-4c3d-b162-0ea3e9a2b7b3 Transcoder result null!
09:02:51,665 WARN  deoSessionGroup-H264 - VideoDistributor-H264-640x480-3d03533c-4a71-4c3d-b162-0ea3e9a2b7b3 Packet encoder returned empty result!
09:02:51,910 INFO  eoSessionGroup-PROXY - VideoProcessor-74aeba04-a22a-4709-a567-2cc617ed8203 Request K-Frame from far end
 

Ivan

Member
в папочке /usr/local/FlashphonerWebCallServer/hls/YWFhNDQ0 появляются новые .ts
Должен ли где-то физически быть файлик .m3u8?
 

Max

Administrator
Staff member
Пришлите доступ к серверу на logs@flashphoner.com
SSH
Dashboard (админка)
Мы протестируем этот кейс в админке и сравним настройки. Скорее всего что-то простое.
 

Max

Administrator
Staff member
Должен ли где-то физически быть файлик .m3u8?
Нет, такой файл не создается.
Плейлист создается с именем стрима в base64 кодировке.
Например, имя потока ebab
HLS
base64-playlist-hls.png

Последний файл содержит список сегментов.
 

Max

Administrator
Staff member
Протестировали с вашим сервером.
Работает. Ничего не меняли.

works-fws.jpg

works-fws2.jpg
 
Top