Only small portion of recording available for playback

I’m using motion-detection to trigger a recording. But I’m noticing a problem with nearly all of the recordings that are (supposedly) longer than ~15 seconds, namely, that the recording is getting truncated somehow and won’t playback fully. For instance, a video clip that’s supposedly 55 seconds (according to the Library Manager, and according to the VLC player), when I actually play it, it might stop playing in VLC and go back to the orange traffic cone after, say, 10-15 seconds.

I’d upload screenshots to illustrate what I mean, but as a new user I’m apparently not allowed to do that. (Any suggestions for moving beyond that status?)

Any troubleshooting suggestions? I’m using 1.2.0 RC1. My server’s CPU where I’m doing the recording is around 15-20%. I’m using TrendNet 310PI (set to 10fps) and 320PI cameras (set to 15 fps).

The same thing happens to me, but when I go to the library folder in Windows, and play the file also with VLC, it plays the proper number of seconds. Also, while playing the file from the Library section of the client, the quality is a lot worse, with compression artifacts ruining the video, compared to using VLC outside the program. The client settings are at their highest, and it’s a fast computer. Lastly, the “sync” between the database and the file names seems to go out of whack every now and then so when I play a video presented in the Library section, the video that actually plays doesn’t match the thumbnail.

Great point. It looks like everything is being recorded correctly - the issue is with the playback. Like you, if I play the file directly off of the Library folder, it seems to work correctly.

Issue confirmed and reproduced on our end after clean installation, we will investigate and try to find the reason. It wasn’t the case on our test system under windows 8. Probably related to the default recording / encoding settings.

We will anyway look forward to fix this for 1.2 that we plan to release later this month.

Great, thanks. It would be helpful to have that working.

Please give a try to 1.2.5, we have changed some settings in the browsers playback which seems to fix this problem.

This same problem persists in v1.2.5. Not only does it die during playback in VLC on many videos played from the library but the quality of the video it streams to VLC is very low. It is covered in block pixelation and dies at random times. When you play the video back via the recorded file on the hard drive it works perfectly. It’s only when you stream it to VLC that it is having an issue. To be clear the issue is two fold. It is very low quality and it dies before the video finishes in some cases

Any update on this bug? It is very easily reproduced and it essentially makes Netcam Studio unusable for large camera installations as to playback any video you need to go find the actual mp4 file on the hard drive and play that. The issue seems to be in how netcam studio streams the video to VLC as the recorded MP4 files are perfectly fine. Perhaps a simple application change to allow us to open the underlying mp4 file directly when a library item is clicked? This would require a setting identifying where on the network to locate the recorded files.

Actually netcam studio doesn’t modify the local file at all. All it does is sending it through the internal server so that it can be played back remotely / from other computer but the file is not altered, re-encoded or modified in any way.

If you check at the logs in VLC (set to verbose), what does it say during the playback ? Can you please collect the logs and post them here ?

Personally since the 1.2.5 I didn’t encounter such problems anymore.

@Mikhail_Burilov : Any idea ?

Hi there. Just checking back in to verify that there does seem to be a small change since the last version, but it is still broken. Not sure if it matters, but in my case, the server and the client are on the same machine. When a video is watched through the NCS client, I get video tearing wherever movement takes place. Some of the recordings will play a little longer, but the ones that do seem to degrade a lot between I frames. Every 7-8 seconds in my case, an I frame comes along and it looks better, then it progressively degrades until the next. I can’t notice the I frames at all playing the same file through VLC natively. The built-in Windows 10 player also plays it properly.

I ran verbose debug playing the same 6-second file though both NCS and windows and this is what I think are the relevant entries:
VLC debug when played through windows: Line 264: core debug: EOF reached
VLC debug when played through NCS: Line 253: mp4 warning: track[0x1] will be disabled (eof?)

The file played through the NCS client only played for 2 seconds before it ended.
Looks like the stream through your server ended prematurely. Is the server buffering improperly?

Here is the full text of the VLC log for the file played through the NCS client:

core debug: processing request item: Recorded by Netcam Studio, node: Playlist, skip: 0
core debug: resyncing on Recorded by Netcam Studio
core debug: Recorded by Netcam Studio is at 0
core debug: starting playback of the new playlist item
core debug: resyncing on Recorded by Netcam Studio
core debug: Recorded by Netcam Studio is at 0
core debug: creating new input thread
core debug: Creating an input for ‘Recorded by Netcam Studio’
core debug: requesting art for Recorded by Netcam Studio
core debug: using timeshift granularity of 50 MiB, in path ‘C:\Users\murray\AppData\Local\Temp’
core debug: http://192.168.1.100:8100/Library/201511070944?authToken=0a9e9a3a-1389-4b3b-91a9-183760e49b38' gives access http’ demux ' path 192.168.1.100:8100/Library/201511070944?authToken=0a9e9a3a-1389-4b3b-91a9-183760e49b38’
core debug: specified demux any' core debug: looking for meta fetcher module matching "any": 1 candidates core debug: creating demux: access='http' demux='any' location='192.168.1.100:8100/Library/201511070944?authToken=0a9e9a3a-1389-4b3b-91a9-183760e49b38' file='\\192.168.1.100:8100\Library\201511070944?authToken=0a9e9a3a-1389-4b3b-91a9-183760e49b38' core debug: looking for access_demux module matching "http": 12 candidates core debug: no access_demux modules matched core debug: creating access 'http' location='192.168.1.100:8100/Library/201511070944?authToken=0a9e9a3a-1389-4b3b-91a9-183760e49b38', path='\\192.168.1.100:8100\Library\201511070944?authToken=0a9e9a3a-1389-4b3b-91a9-183760e49b38' core debug: looking for access module matching "http": 21 candidates http debug: querying proxy for http://192.168.1.100:8100/Library/201511070944?authToken=0a9e9a3a-1389-4b3b-91a9-183760e49b38 http debug: no proxy lua debug: Trying Lua scripts in C:\Users\murray\AppData\Roaming\vlc\lua\meta\fetcher http debug: http: server='192.168.1.100' port=8100 file='/Library/201511070944?authToken=0a9e9a3a-1389-4b3b-91a9-183760e49b38' lua debug: Trying Lua scripts in C:\Program Files\VideoLAN\VLC\lua\meta\fetcher lua debug: Trying Lua playlist script C:\Program Files\VideoLAN\VLC\lua\meta\fetcher\tvrage.luac core debug: net: connecting to 192.168.1.100 port 8100 core debug: connection succeeded (socket = 1764) lua debug: skipping script (unmatched scope) C:\Program Files\VideoLAN\VLC\lua\meta\fetcher\tvrage.luac core debug: no meta fetcher modules matched core debug: searching art for Recorded by Netcam Studio core debug: looking for art finder module matching "any": 2 candidates lua debug: Trying Lua scripts in C:\Users\murray\AppData\Roaming\vlc\lua\meta\art lua debug: Trying Lua scripts in C:\Program Files\VideoLAN\VLC\lua\meta\art lua debug: Trying Lua playlist script C:\Program Files\VideoLAN\VLC\lua\meta\art\00_musicbrainz.luac lua debug: skipping script (unmatched scope) C:\Program Files\VideoLAN\VLC\lua\meta\art\00_musicbrainz.luac lua debug: Trying Lua playlist script C:\Program Files\VideoLAN\VLC\lua\meta\art\01_googleimage.luac lua debug: skipping script (unmatched scope) C:\Program Files\VideoLAN\VLC\lua\meta\art\01_googleimage.luac lua debug: Trying Lua playlist script C:\Program Files\VideoLAN\VLC\lua\meta\art\02_frenchtv.luac lua debug: skipping script (unmatched scope) C:\Program Files\VideoLAN\VLC\lua\meta\art\02_frenchtv.luac lua debug: Trying Lua playlist script C:\Program Files\VideoLAN\VLC\lua\meta\art\03_lastfm.luac http debug: protocol 'HTTP' answer code 206 http debug: Content-Type: video/mp4 http debug: stream size=4095005,pos=0,remaining=2097152 http debug: this frame size=2097152 http debug: Server: Moonware.MiniHttpd/1.2.5.0 lua debug: skipping script (unmatched scope) C:\Program Files\VideoLAN\VLC\lua\meta\art\03_lastfm.luac core debug: no art finder modules matched http debug: Pragma: no-cache core debug: art not found for Recorded by Netcam Studio core debug: using access module "http" core debug: Using stream method for AStream* core debug: starting pre-buffering core debug: received first data after 0 ms core debug: pre-buffering done 1024 bytes in 0s - 1000000 KiB/s core debug: looking for stream_filter module matching "any": 6 candidates core debug: no stream_filter modules matched core debug: looking for stream_filter module matching "record": 6 candidates core debug: using stream_filter module "record" core debug: creating demux: access='http' demux='any' location='192.168.1.100:8100/Library/201511070944?authToken=0a9e9a3a-1389-4b3b-91a9-183760e49b38' file='\\192.168.1.100:8100\Library\201511070944?authToken=0a9e9a3a-1389-4b3b-91a9-183760e49b38' core debug: looking for demux module matching "any": 66 candidates qt4 debug: IM: Setting an input http debug: trying to seek to 4093263 core debug: net: connecting to 192.168.1.100 port 8100 core debug: connection succeeded (socket = 1764) http debug: protocol 'HTTP' answer code 206 http debug: Content-Type: video/mp4 http debug: stream size=4095005,pos=4093263,remaining=1742 http debug: this frame size=1742 http debug: Server: Moonware.MiniHttpd/1.2.5.0 http debug: Pragma: no-cache mp4 debug: added fragment moov mp4 debug: dumping root Box "root" mp4 debug: | + ftyp size 32 offset 0 mp4 debug: | + free size 8 offset 32 mp4 debug: | + mdat size 4093223 offset 40 mp4 debug: | + moov size 1742 offset 4093263 mp4 debug: | | + mvhd size 108 offset 4093271 mp4 debug: | | + trak size 1394 offset 4093379 mp4 debug: | | | + tkhd size 92 offset 4093387 mp4 debug: | | | + edts size 48 offset 4093479 mp4 debug: | | | | + elst size 40 offset 4093487 mp4 debug: | | | + mdia size 1246 offset 4093527 mp4 debug: | | | | + mdhd size 32 offset 4093535 mp4 debug: | | | | + hdlr size 45 offset 4093567 mp4 debug: | | | | + minf size 1161 offset 4093612 mp4 debug: | | | | | + vmhd size 20 offset 4093620 mp4 debug: | | | | | + dinf size 36 offset 4093640 mp4 debug: | | | | | | + dref size 28 offset 4093648 mp4 debug: | | | | | | | + url size 12 offset 4093664 mp4 debug: | | | | | + stbl size 1097 offset 4093676 mp4 debug: | | | | | | + stsd size 149 offset 4093684 mp4 debug: | | | | | | | + avc1 size 133 offset 4093700 mp4 debug: | | | | | | | | + avcC size 47 offset 4093786 mp4 debug: | | | | | | + stts size 24 offset 4093833 mp4 debug: | | | | | | + stsc size 64 offset 4093857 mp4 debug: | | | | | | + stsz size 816 offset 4093921 mp4 debug: | | | | | | + stco size 36 offset 4094737 mp4 debug: | | + udta size 232 offset 4094773 mp4 debug: | | | + meta size 224 offset 4094781 mp4 debug: | | | | + hdlr size 33 offset 4094793 mp4 debug: | | | | + ilst size 179 offset 4094826 mp4 debug: | | | | | + cnam size 49 offset 4094834 mp4 debug: | | | | | + ctoo size 37 offset 4094883 mp4 debug: | | | | | + ccmt size 85 offset 4094920 mp4 debug: ISO Media file (isom) version 512. mp4 debug: found 1 tracks mp4 warning: elst box found mp4 debug: - [0] duration=33ms media time=-1ms) rate=1.0 mp4 debug: - [1] duration=6634ms media time=0ms) rate=1.0 mp4 debug: track[Id 0x1] read 5 chunk mp4 warning: STTS table of 1 entries mp4 debug: track[Id 0x1] read 199 samples length:6s core debug: selecting program id=0 mp4 debug: adding track[Id 0x1] video (enable) language undef mp4 debug: fragment offset 4093263, data 484093263, duration 0 core debug: using demux module "mp4" core debug: looking for decoder module matching "any": 43 candidates avcodec debug: CPU flags: 0x010053db avcodec debug: trying to use direct rendering avcodec debug: allowing 4 thread(s) for decoding avcodec debug: avcodec codec (H264 - MPEG-4 AVC (part 10)) started avcodec debug: using frame thread mode with 4 threads core debug: using decoder module "avcodec" core debug: looking for meta reader module matching "any": 2 candidates lua debug: Trying Lua scripts in C:\Users\murray\AppData\Roaming\vlc\lua\meta\reader lua debug: Trying Lua scripts in C:\Program Files\VideoLAN\VLC\lua\meta\reader lua debug: Trying Lua playlist script C:\Program Files\VideoLAN\VLC\lua\meta\reader\filename.luac core debug: no meta reader modules matched core debug: http://192.168.1.100:8100/Library/201511070944?authToken=0a9e9a3a-1389-4b3b-91a9-183760e49b38’ successfully opened
http debug: trying to seek to 1536
core debug: net: connecting to 192.168.1.100 port 8100
core debug: connection succeeded (socket = 1764)
http debug: protocol ‘HTTP’ answer code 206
http debug: Content-Type: video/mp4
http debug: stream size=4095005,pos=1536,remaining=2097152
http debug: this frame size=2097152
http debug: Server: Moonware.MiniHttpd/1.2.5.0
http debug: Pragma: no-cache
core debug: Buffering 0%
mp4 warning: elst old=0 new=1
core debug: Buffering 6%
avcodec debug: available hardware decoder output format 61 (dxva2_vld)
avcodec debug: available software decoder output format 0 (yuv420p)
core debug: looking for hw decoder module matching “none”: 1 candidates
core debug: no hw decoder modules matched
core debug: looking for text renderer module matching “any”: 2 candidates
core debug: Buffering 9%
core debug: Buffering 13%
core debug: Buffering 16%
freetype debug: Using Arial as font from file C:\WINDOWS\Fonts\arial.ttf
freetype debug: Using Courier New as mono-font from file C:\WINDOWS\Fonts\cour.ttf
core debug: Buffering 19%
core debug: Buffering 23%
core debug: Buffering 26%
freetype debug: using fontsize: 2
core debug: using text renderer module “freetype”
core debug: looking for video filter2 module matching “any”: 58 candidates
core debug: Buffering 29%
core debug: Buffering 33%
core debug: Buffering 36%
swscale debug: 32x32 (32x32) chroma: YUVA → 16x16 (16x16) chroma: RGBA with scaling using Bicubic (good quality)
core debug: using video filter2 module “swscale”
core debug: looking for video filter2 module matching “any”: 58 candidates
yuvp debug: YUVP to YUVA converter
core debug: using video filter2 module “yuvp”
core debug: Buffering 39%
core debug: Buffering 43%
core debug: Buffering 46%
core debug: Deinterlacing available
core debug: Buffering 49%
core debug: deinterlace 0, mode blend, is_needed 0
core debug: Buffering 53%
core debug: Buffering 56%
core debug: Buffering 59%
core debug: Opening vout display wrapper
core debug: Buffering 63%
core debug: Buffering 66%
core debug: looking for vout display module matching “any”: 11 candidates
core debug: Buffering 69%
core debug: Buffering 73%
core debug: Buffering 76%
core debug: Buffering 79%
core debug: Buffering 83%
core debug: Buffering 86%
core debug: Buffering 89%
core debug: Buffering 93%
core debug: Buffering 96%
core debug: Buffering 99%
core debug: Stream buffering done (1032 ms in 5 ms)
direct3d debug: creating Vout EventThread
direct3d debug: Win32VoutCreateWindow
core debug: looking for vout window hwnd module matching “qt4,any”: 3 candidates
qt4 debug: requesting video window…
qt4 debug: Video was requested 0, 0
core debug: using vout window hwnd module “qt4”
direct3d debug: created video sub-window
direct3d debug: Vout EventThread running
direct3d debug: disabling screen saver
direct3d debug: Direct3d Device: Intel(R) HD Graphics 3000 32902 290 9
core debug: VoutDisplayEvent ‘resize’ 656x519 fullscreen
direct3d warning: trying surface pixel format: YV12
direct3d debug: selected surface pixel format is YV12
direct3d debug: Using D3DTEXF_LINEAR for minification
direct3d debug: Using D3DTEXF_LINEAR for magnification
direct3d debug: Direct3D scene created successfully
direct3d debug: Direct3D device adapter successfully initialized
core debug: using vout display module “direct3d”
core debug: original format sz 640x482, of (0,0), vsz 640x480, 4cc I420, sar 1:1, msk r0x0 g0x0 b0x0
core debug: removing module “freetype”
core debug: looking for text renderer module matching “any”: 2 candidates
core debug: VoutDisplayEvent ‘resize’ 640x480 fullscreen
freetype debug: Using Arial as font from file C:\WINDOWS\Fonts\arial.ttf
freetype debug: Using Courier New as mono-font from file C:\WINDOWS\Fonts\cour.ttf
freetype debug: using fontsize: 2
core debug: using text renderer module “freetype”
avcodec warning: plane 0 not aligned
avcodec warning: disabling direct rendering
core debug: VoutDisplayEvent ‘resize’ 656x592 fullscreen
core debug: VoutDisplayEvent ‘resize’ 1920x1080 fullscreen
core debug: End of video preroll
core debug: Received first picture
qt4 debug: Qt: Entering Fullscreen
core debug: Decoder wait done in 112 ms
avcodec debug: enabling direct rendering
avcodec warning: plane 0 not aligned
avcodec warning: disabling direct rendering
avcodec debug: enabling direct rendering
avcodec warning: plane 0 not aligned
avcodec warning: disabling direct rendering
avcodec debug: enabling direct rendering
avcodec warning: plane 0 not aligned
avcodec warning: disabling direct rendering
avcodec debug: enabling direct rendering
avcodec warning: plane 0 not aligned
avcodec warning: disabling direct rendering
avcodec debug: enabling direct rendering
avcodec warning: plane 0 not aligned
avcodec warning: disabling direct rendering
avcodec debug: enabling direct rendering
avcodec warning: plane 0 not aligned
avcodec warning: disabling direct rendering
avcodec debug: enabling direct rendering
avcodec warning: plane 0 not aligned
avcodec warning: disabling direct rendering
avcodec debug: enabling direct rendering
core debug: auto hiding mouse cursor
avcodec warning: plane 0 not aligned
avcodec warning: disabling direct rendering
avcodec debug: enabling direct rendering
avcodec warning: plane 0 not aligned
avcodec warning: disabling direct rendering
mp4 warning: track[0x1] will be disabled (eof?)
core warning: can’t get output picture
core warning: can’t get output picture
core debug: removing module “avcodec”
core warning: can’t get output picture
avcodec debug: ffmpeg codec (H264 - MPEG-4 AVC (part 10)) stopped
core debug: killing decoder fourcc `h264’, 1 PES in FIFO
core debug: saving a free vout
core debug: reusing provided vout
qt4 debug: Qt: Fullscreen state changed
core debug: EOF reached
core debug: removing module “mp4”
core debug: finished input
mp4 debug: freeing all memory
core debug: removing module “record”
core debug: object waitpipe triggered
core debug: removing module “http”
core debug: Program doesn’t contain anymore ES
core debug: dead input
core debug: changing item without a request (current 0/1)
core debug: nothing to play
core debug: destroying useless vout
core debug: removing module “direct3d”
direct3d debug: Direct3D scene released successfully
direct3d debug: Win32 Vout EventThread terminating
direct3d debug: Win32VoutCloseWindow
direct3d debug: WinProc WM_DESTROY
qt4 debug: IM: Deleting the input
qt4 debug: releasing video…
qt4 debug: Qt: Quitting Fullscreen
qt4 debug: Video is not needed anymore
core debug: removing module “freetype”
core debug: removing module “yuvp”
core debug: removing module “swscale”

How is it when playing through the Web Client ?

What version number of VLC are you running ?

Interesting. It appears to play properly through the web client.
VLC is vlc-2.2.1-win64

I just noticed something else.
If I take the url from the debug output above, and paste it in a browser, it works fine.
If I open VLC and “open a network stream” and paste the same url, it fails again at the two second mark.
(http://192.168.1.100:8100/Library/201511070944?authToken=0a9e9a3a-1389-4b3b-91a9-183760e49b38’)

Now, I went to a different computer on the same network running Windows 7, and opened a different version of VLC, this time 1.1.7, and pasted the same URL in the network stream, and it failed again at the two second mark.

Also, I opened the URL with Quicktime, and it worked perfectly.

There appears to be something wrong between your webserver and VLC.

Hi,

i’m actually testing Netcam Studio and I noticed a qsimilar problem (using 1.2.7) : the playback videos played through the Netcam Windows client stop playing in VLC after a few seconds. THis only happenes on 1Mp videos (I also have cams with a resolution of 320x200 and don’t notice this problem)

I also noticed this problem with the mobile app when playing videos from outside of the LAN (port 8100 is forwarded on the router, and the links are good (40Mbps on our WAN, and 10 Mbps at home where I test the videoss)): the 1Mp videos don’t start (of just one second), whereas SD videos play well (both with Android and iOS cilents).

It should be a framerate problem. Will it be possible to specify this while keeping good quality video on disk ?

Anyway, Netcam Studio is a great program and I’m sure you will improve this :smile:

Regards,

Fred

I confirm that this problem comes from NetcamStudio.

I put a record on a webserver (nginx) on the same machine and created a web page embedding a simple video tag and it worked perfectly even on remote location .

Fred

Has this issue been fixed?
I’m getting corrupt looking playback when opening files anytime outside of Netcam Studio. Plays fine on VLC only when I launch playback from the library. Open the same file with VLC when browsing the files in Windows (7) and playback corrupt after just a few seconds. Bizarre. This pretty much renders recordings useless when you need to send files to anyone/co-workers/law enforcement/etc…

Hi!
I have been working a lot with NCS lately in different ways and I do not see this. Can you take a screen dump of that video to show the corruption.
-Henrik

Top left - Playing fine directly from NCS library.
Top right - Playing from outside of NCS, browsed cams/recordings folder, copied file, emailed, etc… Just freezes on first frame until 10 seconds, then freezes on corrupt video.
Bottom left - Playing fine directly NCS library.
Bottom right - Playing outside of NCS. Any attempt of using the VLC search control results in gray screen.


Thanks for your reply.

Hi Matt!
Thanks, excellent! I was looking for such a comparison. I am not sure what differs top left from bottom right?
Top left: do you mean that you double click on this:

Bottom right: click on file in Recording folder?

I can confirm that I also have the gray screen sort of everywhere ;). If I open with SMPlayer also gray screen. However, if I play with Windows Media Player or Windows 10 new Movies and TV is plays very fine. I also tested ACG PLayer in Win 10 and it works fine. For me it seems to be a problem with VLC.

Give us a couple of weeks or three for this since it is sort of vacation time.

Thanks,
Henrik

Hi.

I have that same grey-screen problem on some (but not all) recordings with VLC playing files from the Netcam library from within the Studio client. The same problem happens playing files using the IE browser. However the same mp4s always play fine using Win Media Player directly from the Recordings folder.

Studio Service (x64) v1.3.6.8
Studio Client (x64) v1.3.6.8
IE 11 v11.545.10586.0
VLC v2.2.4
Win 10 on Client and Service PCs

Cheers
Warwick