• October 19, 2020, 11:21:58 PM
  • Welcome, Guest
Please login or register.

Login with username, password and session length
Advanced search  

News:

This Forum Beta is ONLY for registered owners of D-Link products in the USA for which we have created boards at this time.

Author Topic: Potential Firmware Fault: Malformed Video Files  (Read 6136 times)

Jibberish

  • Level 1 Member
  • *
  • Posts: 3
Potential Firmware Fault: Malformed Video Files
« on: July 05, 2013, 02:15:45 AM »

I am having problems with the continuous recording feature of the camera. I find that many of the continuous recording video files are not correctly constructed. Trying to play the video files back using VLC reveal that often the start of the video fails to show. Further I have examined the video files using ffmpeg and it shows the errors in the files (that the video content is not well formed). I believe that this problem is in the actual recording of the video files and not during later transfer (see further notes).



The files can be run through FFMPEG to see errors using the following command (substituting test.avi with the filename):
$ ffmpeg -v error -i test.avi -f null -





Steps to reproduce:
  • Factory reset.
  • Insert SD card.
  • Format SD card on camera.
  • Enable SD recording (Default Settings: Trigger Always, Video, Profile 2, AVI, 1 minute per file, Keep free space 200MB, Cyclic).
  • Wait a couple of minutes for two full videos to record.
  • Download recordings using web interface.
  • Play with vlc or ffmpeg as described.


I believe that often the first video recording is fully valid (i.e. the first minute), but most of the subsequent video recordings are invalid (contain corruption). Please note that not every file is corrupt, but my experience shows that about 90% of them contain some form of "corruption".




I have tried the following measures to rectify the problem:
  • I originally tried this under the original firmware (DCS-942L_1.12_1608).
  • I tried upgrading the firmware to the latest available release (DCS-942L_1.20_patch01_2615).
  • I have tried two different SD cards (2GB SanDisk no speed rating, 32GB SanDisk Class 4 speed rating).
  • I have tried both downloading videos from the web interface and removing the card from the camera and transferring directly to the computer.
  • I have tried the following video settings (H.264+AVI, H.264+MP4, MPEG4+AVI, MPEG4+MP4) and found all of them to exhibit similar problems. I have attached the errors reported by ffmpeg at the bottom of this post.

None of these measures has been able to rectify the fault.



For other owners of the camera I ask that you please repeat the above steps using ffmpeg to identify whether this is a genuine fault with the firmware.

For Dlink support I ask can you please indicate whether this is a known issue with this camera and/or firmware? If this is a know fault can you please indicate whether it will be rectified and if so give an indication on how long before we can expect corrected firmware.

I sent a similar request to my local dlink support, however I didn't receive a satisfactory reply and apologize if you receive this in duplicate, but believe this to be a serious and genuine problem.

Thanks everyone for your help.


-----
FFMPEG Output

$ ffmpeg -v error -i 20130101_000500.avi -f null -
[h264 @ 000000000265f060] non-existing PPS referenced
[h264 @ 000000000265f060] non-existing PPS 0 referenced
[h264 @ 000000000265f060] decode_slice_header error
[h264 @ 000000000265f060] no frame!
[h264 @ 000000000265f060] non-existing PPS referenced
[h264 @ 000000000265f060] non-existing PPS 0 referenced
[h264 @ 000000000265f060] decode_slice_header error
[h264 @ 000000000265f060] no frame!
[h264 @ 000000000265f060] non-existing PPS referenced
[h264 @ 000000000265f060] non-existing PPS 0 referenced
[h264 @ 000000000265f060] decode_slice_header error
[h264 @ 000000000265f060] no frame!
[h264 @ 000000000265f060] non-existing PPS referenced
[h264 @ 000000000265f060] non-existing PPS 0 referenced
[h264 @ 000000000265f060] decode_slice_header error
[h264 @ 000000000265f060] no frame!
[h264 @ 000000000265f060] non-existing PPS referenced
[h264 @ 000000000265f060] non-existing PPS 0 referenced
[h264 @ 000000000265f060] decode_slice_header error
[h264 @ 000000000265f060] no frame!
[h264 @ 00000000025516a0] Missing reference picture, default is 0
[h264 @ 00000000025516a0] decode_slice_header error

$ ffmpeg -v error -i 20130101_001500.mp4 -f null -
[h264 @ 000000000034f060] Missing reference picture, default is 0
[h264 @ 000000000034f060] decode_slice_header error
[h264 @ 00000000050cba60] Missing reference picture, default is 0
[h264 @ 00000000050cba60] decode_slice_header error

$ ffmpeg -v error -i 20130101_002600.avi -f null -
[mpeg4 @ 000000000258f060] hmm, seems the headers are not complete, trying to guess time_increment_bits
[mpeg4 @ 000000000258f060] my guess is 4 bits ;)
[mpeg4 @ 0000000002518840] warning: first frame is no keyframe
Logged

skeletor

  • Level 1 Member
  • *
  • Posts: 20
Re: Potential Firmware Fault: Malformed Video Files
« Reply #1 on: July 05, 2013, 07:14:36 PM »

First, I don't know if this is related..... https://ffmpeg.org/trac/ffmpeg/ticket/2143 -I know very little about ffmpeg.
Anyways, for your reference...... my test, for your viewing pleasure
NOTE: The videos all play fine for me on: VLC media player 2.0.5 Twoflower (revision 2.0.5-0-g1661b7d)

Firmware Version1.21
Firmware Build Number2811
Reset to factory default
SD card: Sandisk 8GB microsd hc (that's all I know about it... hey, it was free)
downloaded files with firefox

$ uname -a
OpenBSD 5.3 GENERIC.MP#62 amd64
$ ffmpeg -version                     
ffmpeg version git-N-37593-g36982b3
built on Feb 25 2013 16:15:11 with gcc 4.2.1 20070719
configuration: --enable-shared --arch=amd64 --cc=cc --disable-altivec --disable-armv5te --disable-armv6 --disable-armv6t2 --disable-armvfp --disable-debug --disable-indev=jack --disable-indev=oss --disable-iwmmxt --disable-neon --disable-outdev=oss --disable-outdev=sdl --enable-gpl --enable-libgsm --enable-libmp3lame --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid --enable-nonfree --enable-openssl --enable-runtime-cpudetect --enable-x11grab --extra-cflags='-I/usr/local/include -I/usr/X11R6/include' --extra-libs='-L/usr/local/lib -L/usr/X11R6/lib' --mandir=/usr/local/man --optflags='-O2 -pipe -Wno-redundant-decls'
libavutil      51. 35.100 / 51. 35.100
libavcodec     53. 61.100 / 53. 61.100
libavformat    53. 32.100 / 53. 32.100
libavdevice    53.  4.100 / 53.  4.100
libavfilter     2. 61.100 /  2. 61.100
libswscale      2.  1.100 /  2.  1.100
libswresample   0.  6.100 /  0.  6.100
libpostproc    52.  0.100 / 52.  0.100

$ ffmpeg -v error -i 1.avi -f null -         
[h264 @ 0x1a0ba4d74000] non-existing PPS referenced
[h264 @ 0x1a0ba4d74000] non-existing PPS 0 referenced
[h264 @ 0x1a0ba4d74000] decode_slice_header error
[h264 @ 0x1a0ba4d74000] no frame!
[h264 @ 0x1a0ba4d74000] non-existing PPS referenced
[h264 @ 0x1a0ba4d74000] non-existing PPS 0 referenced
[h264 @ 0x1a0ba4d74000] decode_slice_header error
[h264 @ 0x1a0ba4d74000] no frame!
[h264 @ 0x1a0ba4d74000] non-existing PPS referenced
[h264 @ 0x1a0ba4d74000] non-existing PPS 0 referenced
[h264 @ 0x1a0ba4d74000] decode_slice_header error
[h264 @ 0x1a0ba4d74000] no frame!
[h264 @ 0x1a0ba4d74000] non-existing PPS referenced
[h264 @ 0x1a0ba4d74000] non-existing PPS 0 referenced
[h264 @ 0x1a0ba4d74000] decode_slice_header error
[h264 @ 0x1a0ba4d74000] no frame!
[h264 @ 0x1a0ba4d74000] non-existing PPS referenced
[h264 @ 0x1a0ba4d74000] non-existing PPS 0 referenced
[h264 @ 0x1a0ba4d74000] decode_slice_header error
[h264 @ 0x1a0ba4d74000] no frame!
[h264 @ 0x1a0ba4d74000] non-existing PPS referenced
[h264 @ 0x1a0ba4d74000] non-existing PPS 0 referenced
[h264 @ 0x1a0ba4d74000] decode_slice_header error
[h264 @ 0x1a0ba4d74000] no frame!
[h264 @ 0x1a0ba4d74000] non-existing PPS referenced
[h264 @ 0x1a0ba4d74000] non-existing PPS 0 referenced
[h264 @ 0x1a0ba4d74000] decode_slice_header error
[h264 @ 0x1a0ba4d74000] no frame!
[h264 @ 0x1a0ba4d74000] non-existing PPS referenced
[h264 @ 0x1a0ba4d74000] non-existing PPS 0 referenced
[h264 @ 0x1a0ba4d74000] decode_slice_header error
[h264 @ 0x1a0ba4d74000] no frame!
[h264 @ 0x1a0ba4d74000] non-existing PPS referenced
[h264 @ 0x1a0ba4d74000] non-existing PPS 0 referenced
[h264 @ 0x1a0ba4d74000] decode_slice_header error
[h264 @ 0x1a0ba4d74000] no frame!
[h264 @ 0x1a0b971b7800] Missing reference picture
[h264 @ 0x1a0b971b7800] decode_slice_header error
$ ffmpeg -v error -i 2.avi -f null -
[h264 @ 0x5e27fb88800] non-existing PPS referenced
[h264 @ 0x5e27fb88800] non-existing PPS 0 referenced
[h264 @ 0x5e27fb88800] decode_slice_header error
[h264 @ 0x5e27fb88800] no frame!
[h264 @ 0x5e27fb88800] non-existing PPS referenced
[h264 @ 0x5e27fb88800] non-existing PPS 0 referenced
[h264 @ 0x5e27fb88800] decode_slice_header error
[h264 @ 0x5e27fb88800] no frame!
[h264 @ 0x5e27fb88800] non-existing PPS referenced
[h264 @ 0x5e27fb88800] non-existing PPS 0 referenced
[h264 @ 0x5e27fb88800] decode_slice_header error
[h264 @ 0x5e27fb88800] no frame!
[h264 @ 0x5e27fb88800] non-existing PPS referenced
[h264 @ 0x5e27fb88800] non-existing PPS 0 referenced
[h264 @ 0x5e27fb88800] decode_slice_header error
[h264 @ 0x5e27fb88800] no frame!
[h264 @ 0x5e27fb88800] non-existing PPS referenced
[h264 @ 0x5e27fb88800] non-existing PPS 0 referenced
[h264 @ 0x5e27fb88800] decode_slice_header error
[h264 @ 0x5e27fb88800] no frame!
[h264 @ 0x5e27a82a800] Missing reference picture
[h264 @ 0x5e27a82a800] decode_slice_header error
$ ffmpeg -v error -i 3.avi -f null -
[h264 @ 0xb9848caf800] non-existing PPS referenced
[h264 @ 0xb9848caf800] non-existing PPS 0 referenced
[h264 @ 0xb9848caf800] decode_slice_header error
[h264 @ 0xb9848caf800] no frame!
[h264 @ 0xb9848caf800] non-existing PPS referenced
[h264 @ 0xb9848caf800] non-existing PPS 0 referenced
[h264 @ 0xb9848caf800] decode_slice_header error
[h264 @ 0xb9848caf800] no frame!
[h264 @ 0xb9848caf800] non-existing PPS referenced
[h264 @ 0xb9848caf800] non-existing PPS 0 referenced
[h264 @ 0xb9848caf800] decode_slice_header error
[h264 @ 0xb9848caf800] no frame!
[h264 @ 0xb9848caf800] non-existing PPS referenced
[h264 @ 0xb9848caf800] non-existing PPS 0 referenced
[h264 @ 0xb9848caf800] decode_slice_header error
[h264 @ 0xb9848caf800] no frame!
[h264 @ 0xb9848caf800] non-existing PPS referenced
[h264 @ 0xb9848caf800] non-existing PPS 0 referenced
[h264 @ 0xb9848caf800] decode_slice_header error
[h264 @ 0xb9848caf800] no frame!
[h264 @ 0xb9848caf800] non-existing PPS referenced
[h264 @ 0xb9848caf800] non-existing PPS 0 referenced
[h264 @ 0xb9848caf800] decode_slice_header error
[h264 @ 0xb9848caf800] no frame!
[h264 @ 0xb98473a3000] Missing reference picture
[h264 @ 0xb98473a3000] decode_slice_header error
$ ffmpeg -v error -i 4.avi -f null -
$ ffmpeg -v error -i 5.avi -f null -
[h264 @ 0x130e8d265000] non-existing PPS referenced
[h264 @ 0x130e8d265000] non-existing PPS 0 referenced
[h264 @ 0x130e8d265000] decode_slice_header error
[h264 @ 0x130e8d265000] no frame!
[h264 @ 0x130e824b6000] Missing reference picture
[h264 @ 0x130e824b6000] decode_slice_header error
$ ffmpeg -v error -i 6.avi -f null -
[h264 @ 0xd4e49d000] non-existing PPS referenced
[h264 @ 0xd4e49d000] non-existing PPS 0 referenced
[h264 @ 0xd4e49d000] decode_slice_header error
[h264 @ 0xd4e49d000] no frame!
[h264 @ 0xd4e49d000] non-existing PPS referenced
[h264 @ 0xd4e49d000] non-existing PPS 0 referenced
[h264 @ 0xd4e49d000] decode_slice_header error
[h264 @ 0xd4e49d000] no frame!
[h264 @ 0xd4e49d000] non-existing PPS referenced
[h264 @ 0xd4e49d000] non-existing PPS 0 referenced
[h264 @ 0xd4e49d000] decode_slice_header error
[h264 @ 0xd4e49d000] no frame!
[h264 @ 0xd4e49d000] non-existing PPS referenced
[h264 @ 0xd4e49d000] non-existing PPS 0 referenced
[h264 @ 0xd4e49d000] decode_slice_header error
[h264 @ 0xd4e49d000] no frame!
[h264 @ 0xd4eedb000] Missing reference picture
[h264 @ 0xd4eedb000] decode_slice_header error
$ ffmpeg -v error -i 7.avi -f null -
[h264 @ 0x5216d7b3000] non-existing PPS referenced
[h264 @ 0x5216d7b3000] non-existing PPS 0 referenced
[h264 @ 0x5216d7b3000] decode_slice_header error
[h264 @ 0x5216d7b3000] no frame!
[h264 @ 0x5216d7b3000] non-existing PPS referenced
[h264 @ 0x5216d7b3000] non-existing PPS 0 referenced
[h264 @ 0x5216d7b3000] decode_slice_header error
[h264 @ 0x5216d7b3000] no frame!
[h264 @ 0x5216d7b3000] non-existing PPS referenced
[h264 @ 0x5216d7b3000] non-existing PPS 0 referenced
[h264 @ 0x5216d7b3000] decode_slice_header error
[h264 @ 0x5216d7b3000] no frame!
[h264 @ 0x5216d7b3000] non-existing PPS referenced
[h264 @ 0x5216d7b3000] non-existing PPS 0 referenced
[h264 @ 0x5216d7b3000] decode_slice_header error
[h264 @ 0x5216d7b3000] no frame!
[h264 @ 0x5216d7b3000] non-existing PPS referenced
[h264 @ 0x5216d7b3000] non-existing PPS 0 referenced
[h264 @ 0x5216d7b3000] decode_slice_header error
[h264 @ 0x5216d7b3000] no frame!
[h264 @ 0x5216ea77000] Missing reference picture
[h264 @ 0x5216ea77000] decode_slice_header error
$ ffmpeg -v error -i 8.avi -f null -
$ ffmpeg -v error -i 9.avi -f null -
[h264 @ 0x1a15a4ccb000] non-existing PPS referenced
[h264 @ 0x1a15a4ccb000] non-existing PPS 0 referenced
[h264 @ 0x1a15a4ccb000] decode_slice_header error
[h264 @ 0x1a15a4ccb000] no frame!
[h264 @ 0x1a15a4ccb000] non-existing PPS referenced
[h264 @ 0x1a15a4ccb000] non-existing PPS 0 referenced
[h264 @ 0x1a15a4ccb000] decode_slice_header error
[h264 @ 0x1a15a4ccb000] no frame!
[h264 @ 0x1a15a4ccb000] non-existing PPS referenced
[h264 @ 0x1a15a4ccb000] non-existing PPS 0 referenced
[h264 @ 0x1a15a4ccb000] decode_slice_header error
[h264 @ 0x1a15a4ccb000] no frame!
[h264 @ 0x1a15a4ccb000] non-existing PPS referenced
[h264 @ 0x1a15a4ccb000] non-existing PPS 0 referenced
[h264 @ 0x1a15a4ccb000] decode_slice_header error
[h264 @ 0x1a15a4ccb000] no frame!
[h264 @ 0x1a15aef3b800] Missing reference picture
[h264 @ 0x1a15aef3b800] decode_slice_header error

So, you see I have similar messages..... but I haven't noticed any parts not playing properly(yet)
Logged

skeletor

  • Level 1 Member
  • *
  • Posts: 20
Re: Potential Firmware Fault: Malformed Video Files
« Reply #2 on: July 05, 2013, 08:10:18 PM »

Also, I ran a couple at higher quality settings and 5min lengths which I usually use.  The errors all seem to occur during the first few seconds of the error test running.... if that means anything.
Logged

Jibberish

  • Level 1 Member
  • *
  • Posts: 3
Re: Potential Firmware Fault: Malformed Video Files
« Reply #3 on: July 09, 2013, 03:45:29 AM »

Thanks for posting your results skeletor. Also thanks for posting the version information of the applications that you were using, this helped me to identify the differences between the results that you were getting in VLC compared with what I was seeing.

I have to admit that I'm not an expert on video codecs or ffmpeg myself, and it was only that they failed to play correctly in VLC that got me looking (everything plays in VLC...if it doesn't there must be something fairly wrong with it).

I was using VLC media player 2.0.7 Twoflower binary under windows. Since reading your post I downloaded the 2.0.5 binary for windows. I found that under this version the video's have more success playing.

Your post on FFMPEG got me curious as to whether it was a problem with the video file or with the player.

I tried running the video files through a few other players on windows (I wanted to make sure I got a range of different codec implementations and so tried a couple of proprietary programs...unfortunately the problem is that most opensource programs use ffmpeg/libav and so are using the same implementation). I tired Quick Time and Windows Media Player. I found that under both I noticed some playback issues (again at the start of the video files). I found different results with each player and different files caused different problems for different players, but that all players demonstrated some problems with one of the videos I recorded (from the samples that I previously recorded in: H.264+AVI, H.264+MP4, MPEG4+AVI, MPEG4+MP4).

While I can't point to the specific bytes in the file and the spec and say see here this is exactly what the problem is all of these results make me think that there is a genuine problem with the video data that the camera is producing.

The one commonality that I did find across problems playing the video files back in a range of video players was that the problem was always at the start of one of the video files.

The fact that every video player I tried had a problem with at least one of the video files and that the problem was always in the same position in the video (at the start) makes me think that it is a problem with the way that the start of the video is constructed. My guess on why the results are difference between all of the players is just the way the individual players provide fault tolerance and how they deal with errors in the video files that they find.


My guess if I had to make one was that there was a problem with the camera when it creates new video files and it seems that once its got things right that after that its fine. This is explicitly why I suggest short video files in my steps to reproduce. Like skeletor I find longer video files much more practical, but I find that the short video files are much more reliable at demonstrating the error.
Logged

Jibberish

  • Level 1 Member
  • *
  • Posts: 3
Re: Potential Firmware Fault: Malformed Video Files
« Reply #4 on: November 28, 2013, 02:23:09 AM »

I have just tried the latest firmware (DCS-942L_1.22_2825) and still get the same results with corruption at the start of the video.
Logged

HWAM

  • Level 2 Member
  • **
  • Posts: 82
Re: Potential Firmware Fault: Malformed Video Files
« Reply #5 on: December 11, 2013, 04:58:42 AM »

This problem is directly related with my false motion detections on a DCS-933L in H.264 mode. When I use the H.264 mode I constantly have false detections. The photos contains scrambled lines or blocks and it's also visible in the H.264 video avi files.

Quality in MJPEG mode is fine. So at this moment the H.264 mode is useless in combination with motion detection.

Any news about this??

Grt.
Logged