gpac / gpac

GPAC Ultramedia OSS for Video Streaming & Next-Gen Multimedia Transcoding, Packaging & Delivery
https://gpac.io
GNU Lesser General Public License v2.1
2.78k stars 532 forks source link

DashCast performance #404

Closed iroks closed 5 years ago

iroks commented 8 years ago

Hello,

I'm new to dashcast and tried to create a pseudo live (from file) and live (from camera) session on the window and linux platform:

DashCast -v /.../inputfile.ts(or mp4) -live-media -out /.../video/ -time-shift 50 -min-buffer 10 or DashCast -v /dev/video0 -live-media -out /.../video/ -time-shift 50 -min-buffer 10

mpd file and segments files (m4s) were created (see below mpd file). Unfortunely, I got the 100% processor load on windows and 300% on Linux (in the top). For Windows I used the build from your site; for linux I used the instruction from https://gpac.wp.mines-telecom.fr/dashcast/ in order to make the custom build.

I tried to play the the stream on the same computer using "MP4Client dashcast.mpd". Sometimes it played with a picture that sometime ok, sometime unclear, I got often an error message: Error opening new segment v1_xx_gpac.m4s; I checked and indeed there are some gaps between files. Sometimes I got an error message "Something gone terrible wrong, reset the input buffers" on the client side.

When I start a client MP4Client, I got on the producer side (dashcast terminal) error messages: [h264 @ 0x118f040] reference picture missing during reorder [h264 @ 0x118f040] reference picture missing during reorder [h264 @ 0x118f040] Missing reference picture, default is 65568 [h264 @ 0x118f040] Missing reference picture, default is 65568 [h264 @ 0x1236f00] reference picture missing during reorder [h264 @ 0x1236f00] Missing reference picture, default is 65574 [h264 @ 0x127e120] reference picture missing during reorder [h264 @ 0x127e120] Missing reference picture, default is 65576

If I stop a client, it works ok.

The *.ts or mp4 (mp4 was created ffmpeg.exe -c copy -movflags empty_moov+omit_tfhd_offset+frag_keyframe+default_base_moof -f mp4 XXX.mp4) files are ok and can be played without problems using vlc or other players. If I do the same mp4box -dash 10000 -segment-name name NHL.mp4; it works fine and fast but I didn't find out how to create a live stream using mp4box from stream. What is the preferred program to create live sessions?

As I understand, the conversion from .ts(mp4) is just the container format changes and should be not processor intensive. Therefore, my question is: what I do wrong or which configuration I missed?

Some output:

e-shift 50 -min-buffer 10 Options: video source:NHL.ts video crop: 0x0 audio source: Configurations: id:v1 res:640x480 vbr:1000000 id:a1 abr:192000 Input #0, mpegts, from 'NHL.ts': Duration: 00:09:59.60, start: 0.080000, bitrate: 449 kb/s Program 1 Stream #0:0[0x44]: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p, 640 x360 [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 90k tbn, 50 tbc AVCTX give frame duration of 1/50 - keeping requested rate 25, but this may resu lt in unexpected behaviour. Press q or Q to exit... [dashcast] Live system dropped a video frame [dashcast] Live system dropped a video frame [dashcast] Live system dropped a video frame [dashcast] Live system dropped a video frame [dashcast] Live system dropped a video frame [dashcast] Live system dropped a video frame [dashcast] Live system dropped a video frame [dashcast] Live system dropped a video frame [dashcast] Live system dropped a video frame [libx264 @ 0x7fbbe4000920] using SAR=1/1 [libx264 @ 0x7fbbe4000920] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AV X FMA3 AVX2 LZCNT BMI2 [libx264 @ 0x7fbbe4000920] profile High, level 3.0 [libx264 @ 0x7fbbe4000920] 264 - core 146 r2555 0c21480 - H.264/MPEG-4 AVC codec - Copyleft 2003-2015 - http://www.videolan.org/x264.html - options: cabac=1 ref =3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_r ef=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip= 1 chroma_qp_offset=-2 threads=6 lookahead_threads=1 sliced_threads=0 nr=0 decima te=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_ad apt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=25 keyint_min=2 sc enecut=40 intra_refresh=0 rc_lookahead=25 rc=abr mbtree=1 bitrate=1000 ratetol=1 .0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00 Generating MPD at 2016-02-10T12:14:40.669Z StartTime: 2016-02-10T12:14:40.669Z - startNumber 1 - last number 1 Generating MPD at 2016-02-10T12:14:40.669Z StartTime: 2016-02-10T12:14:40.669Z - startNumber 1 - last number 1 Generating MPD at 2016-02-10T12:14:41.593Z StartTime: 2016-02-10T12:14:40.669Z - startNumber 1 - last number 2 Generating MPD at 2016-02-10T12:14:42.553Z StartTime: 2016-02-10T12:14:40.669Z - startNumber 1 - last number 3 Generating MPD at 2016-02-10T12:14:43.593Z StartTime: 2016-02-10T12:14:40.669Z - startNumber 1 - last number 4 Generating MPD at 2016-02-10T12:14:44.595Z StartTime: 2016-02-10T12:14:40.669Z - startNumber 1 - last number 5 Generating MPD at 2016-02-10T12:14:45.593Z StartTime: 2016-02-10T12:14:40.669Z - startNumber 1 - last number 6 Generating MPD at 2016-02-10T12:14:46.553Z StartTime: 2016-02-10T12:14:40.669Z - startNumber 1 - last number 7 Generating MPD at 2016-02-10T12:14:47.594Z StartTime: 2016-02-10T12:14:40.669Z - startNumber 1 - last number 8 [dashcast] Live system dropped a video frame [dashcast] Live system dropped a video frame [dashcast] Live system dropped a video frame Generating MPD at 2016-02-10T12:14:48.601Z StartTime: 2016-02-10T12:14:40.669Z - startNumber 1 - last number 9 [dashcast] Live system dropped a video frame [dashcast] Live system dropped a video frame [h264 @ 0x118f040] reference picture missing during reorder [h264 @ 0x118f040] reference picture missing during reorder [h264 @ 0x118f040] Missing reference picture, default is 65568 [h264 @ 0x118f040] Missing reference picture, default is 65568 [h264 @ 0x1236f00] reference picture missing during reorder [h264 @ 0x1236f00] Missing reference picture, default is 65574 [h264 @ 0x127e120] reference picture missing during reorder [h264 @ 0x127e120] Missing reference picture, default is 65576 [dashcast] Live system dropped a video frame Generating MPD at 2016-02-10T12:14:49.866Z StartTime: 2016-02-10T12:14:40.669Z - startNumber 1 - last number 10 [dashcast] Live system dropped a video frame [dashcast] Live system dropped a video frame Generating MPD at 2016-02-10T12:14:50.899Z StartTime: 2016-02-10T12:14:40.669Z - startNumber 1 - last number 11 [dashcast] Live system dropped a video frame Generating MPD at 2016-02-10T12:14:51.647Z

<?xml version="1.0"?>

dashcast.mpd
jeanlf commented 5 years ago

dashcast is deprecated, use GPAC 0.9.0 DEV