20170124_gst_lunch_file.txtCan RDK 2.1 DLNA Support sreaming for Microsoft Media player?
Dear all sirs:
Please kindly refer to the following information and comment it accordingly. Thanks.
Summary: basically I doubt the recording MPG from DLNA Server has not been decoding by streaming to Remote Microsoft Media player so The DLNA Client(Remote Microsoft Media player) can't understand how to play the recording. Thanks.
The necessary information I hope to understand is as 3 below lines and what went wrong???
1. So far I can record and Microsoft Media Player can connect DLNA Server and review the recording. VLC software on the PC will crash when reading the context.
2. But Media Player can't not see the context and it's black always, can only get part of the full recording,
3. The mpg in media/tsb/OCAP_MSV/0/0/DEFAULT_RECORDING_VOLUME/dvr can be read by Microsoft media player or gst-launch-1.0
P.S.
a. provide the rmfStreamer log and gst-launch-1.0 log
b. The recording context in the Windows Media player
http://192.168.100.101:8081/vldms/dvr?rec_id=2017102004&segmentId=0&WMContentFeatures=DLNA.ORG_PN=MPEG_TS_HD_NA_T;DLNA.ORG_OP=10;DLNA.ORG_PS=-60,-30,-15,15,30,60;DLNA.ORG_FLAGS=01000000000000000000000000000000&WMHME=1&HMEExt=.tts&WMHMETitle=MgAwADEANwAxADAAMgAwADAAMwAwADMANAA4AC0ANgA1AHMA
The debug information as belows:
Client: Windows media player can connect DLNA Server and only get black context and not full recording
Server:
Error state:
MedIa Player can connect to RDK 2.1 DLNA Server and The context in the Microsoft Media player is black,
The stream(total about 3 mins) on the internet will break in different time position. (sometimes 12 secs and sometimes 2mins)
How to build the source and record in my server:
1. Compile rmfstreamer and recorder
(a) Modify this file Z:\17.1\meta-rdk-broadcom-generic-rdk\meta-brcm-generic-rdk\recipes-extended\mediastreamer\rmfstreamer_git.bbappend
add server lines and more in others configure files
-DUSE_DVR \
-DENABLE_BROWSE_CONTENT \
(b) Z:\17.1\meta-rdk-broadcom-generic-rdk\meta-brcm-generic-rdk\recipes-extended\mediastreamer\rmfstreamer_git.bbappend
LDFLAGS += "-ldvrsource"
(c) add some lines in the /etc/rmfConfig.ini
(d) add MediaServer.xml/ ConnectionManager.xml/ ContentDirectory.xml in /etc director
(e) DLNA Server successful and record in /media/tsb/OCAP_MSV/0/0/DEFAULT_RECORDING_VOLUME/dvr/chunks/c595d613-ca95-4243-b3f1-d959a166ffc1_0000000016000000.mpg/c595d613-ca95-4243-b3f1-d959a166ffc1_0000000018000000.mpg
(f) didn't connect the poll server and modify the code to insert JSON code in Comm.cppb.
(g) the mpg can be read in Windows Media player separately
2. rmfStream logs
[mod=MS, lvl=INFO] [tid=16311] [open:434] Transcoder support : FALSE
[mod=MS, lvl=INFO] [tid=16311] [open:437] Now tuning to service dvr://local/2017102010#0 tsb_support=FALSE
[mod=MS, lvl=INFO] [tid=16311] [createSource:317] RMFMediaStreamer::createSource dvr://local/2017102010#0 20170915
[mod=MS, lvl=INFO] [tid=16311] [stream:736] Play Speed : 1.000000 Time Position: 0.000000
[mod=MS, lvl=INFO] [tid=16311] [stream:755] play_request
[mod=DVR, lvl=INFO] [tid=16311] [REC_SEG] PlayContext::attachToSegment() attaching segment for play activity ... m_recording= 0x9ad02e50 for m_segmentName= 1508481763109
[mod=DVR, lvl=INFO] [tid=16311] mpeg path /tmp/usb/media/tsb/OCAP_MSV/0/0/DEFAULT_RECORDING_VOLUME/dvr/chunks/135e0a09-31ce-4ea2-86c1-80e7db03396d_0000000000000000.mpg
[mod=DVR, lvl=INFO] [tid=16311] using 10.000000 for m_apparentFrameRate
[mod=DVR, lvl=INFO] [tid=16311] PlayContext::setThrottleEnable enable=1
[mod=DVR, lvl=INFO] [tid=16311] setting playback rate to 1.000000
[mod=DVR, lvl=INFO] [tid=16311] mpeg path /tmp/usb/media/tsb/OCAP_MSV/0/0/DEFAULT_RECORDING_VOLUME/dvr/chunks/135e0a09-31ce-4ea2-86c1-80e7db03396d_0000000000000000.mpg
[mod=DVR, lvl=INFO] [tid=16311] using 10.000000 for m_apparentFrameRate
[mod=DVR, lvl=INFO] [tid=16311] PlayContext::setThrottleEnable enable=1
[mod=DVR, lvl=INFO] [tid=16311] setting playback rate to 1.000000
ocapri_log.txt:Oct 23 01:10:42.423873 brcm97271ip-refboard rmfStreamer[2826]: 171023-01:10:42.423829 [mod=DVR, lvl=INFO] [tid=15960] Retrying to get the frame length for frame 8959 retryCount 5
ocapri_log.txt:Oct 23 01:10:42.924559 brcm97271ip-refboard rmfStreamer[2826]: 171023-01:10:42.924532 [mod=DVR, lvl=INFO] [tid=15960] Retrying to get the frame length for frame 8959 retryCount 0
ocapri_log.txt:Oct 23 01:36:28.957744 brcm97271ip-refboard rmfStreamer[2826]: 171023-01:36:28.957713 [mod=DVR, lvl=INFO] [tid=14844] Retrying to get the frame length for frame 5639 retryCount 5
ocapri_log.txt:Oct 23 01:36:29.458297 brcm97271ip-refboard rmfStreamer[2826]: 171023-01:36:29.458267 [mod=DVR, lvl=INFO] [tid=14844] Retrying to get the frame length for frame 5639 retryCount 0
[mod=DVR, lvl=INFO] [tid=4254] Retrying to get the frame length for frame 8856 retryCount 5
[mod=DVR, lvl=INFO] [tid=4254] Retrying to get the frame length for frame 8856 retryCount 0
[mod=DVR, lvl=ERROR] [tid=4254] failed to get frame length for frame 8856 currStreamOffset 2dd75c80
3. gst-launch-1.0 -v playbin uri="file:///tmp/usb/media/tsb/OCAP_MSV/0/0/DEFAULT_RECORDING_VOLUME/dvr/chunks/c595d613-ca95-4243-b3f1-d959a166ffc1_000000001a000000.mpg"
some messages as below
0:00:00.115868321 29133 0xb6123120 INFO brcmtsdemux gst_p_ts_demux.c:284:probe_stream: Audio track 64 codec:15
0:00:00.115920468 29133 0xb6123120 INFO brcmtsdemux gst_p_ts_demux.c:307:probe_stream: playing program number : 1
0:00:00.115939134 29133 0xb6123120 INFO brcmtsdemux gst_p_ts_demux.c:321:probe_stream: Programming with PMT: Video PID (2) 3f & Audio(15) 40
0:00:00.115962244 29133 0xb6123120 INFO brcmtsdemux gst_ts_demux.c:2536:create_video_src_pad: creating video src pad
0:00:00.207288962 29133 0xb6123120 INFO brcmvideodecoder gst_brcm_video_decoder.c:602:gst_brcm_video_decoder_init: Default Video ptsOffset 0 ms
0:00:00.207862575 29133 0xb6123120 INFO brcmvideodecoder gst_brcm_video_decoder.c:1219:gst_brcm_video_decoder_start_locked: Video Decoder Codec 2
0:00:00.254824175 29133 0xb6123120 INFO brcmvideodecoder gst_brcm_video_decoder.c:1282:gst_brcm_video_decoder_start_locked: --------------Connect & NEXUS_SimpleVideoDecoder_Start -------------
0:00:00.255243386 29133 0xb6123120 INFO brcmtsdemux gst_ts_demux.c:2578:create_audio_src_pad: creating audio src pad
0:00:00.258429370 29133 0xb6123120 INFO brcmaudiodecoder gst_brcm_audio_decoder.c:349:gst_brcm_audio_decoder_init: Default Audio ptsOffset 0 ms
0:00:00.259267679 29133 0xb6123120 INFO brcmaudiodecoder gst_brcm_audio_decoder.c:936:gst_brcm_audio_decoder_start: Audio Decoder Codec 3
0:00:00.261025037 29133 0xb6123120 INFO brcmaudiodecoder gst_brcm_audio_decoder.c:957:gst_brcm_audio_decoder_start: --------------Connect & Start Decoder---
0:00:09.364330964 29133 0xb6123120 ERROR brcmtsdemux gst_p_ts_demux.c:473:demux_loop: gst_pad_pull_range error
0:00:09.456393847 29133 0xb07b0 INFO brcmvideosink gst_brcm_video_sink.c:868:gst_brcm_video_sink_sink_event: EOS received
0:00:09.456467400 29133 0xb07b0 INFO brcmvideosink gst_brcm_video_sink.c:902:gst_brcm_video_sink_sink_event: EOS forwarded and decoder is empty
ERROR: from element /GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:abin/GstQueue:aqueue: Internal data flow error.
Additional debug info:
gstqueue.c(860): gst_queue_handle_sink_event (): /GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:abin/GstQueue:aqueue:
streaming task paused, reason not-negotiated (-4)
Best regards
Jack