Looking for a workaround if possible. Anyone else seen this?
Flash Player crashes while playing an H.264 video file or live stream originating from a D-Link DCS-942L IP camera or TrendNET TV-IP572W IP camera.
There are 2 scenarios:
1) FTP an H.264 video file from the IP camera and play it in Flash Player. Flash Player crashes even though the file plays correctly in Windows Media Player and VLC.
2) Stream the H.264 live stream from the IP camera to a media server. Re-stream to Flash Player from the media server over RTMP.
In both cases, Flash Player crashes while the stream plays correctly in VLC.
I was able to write an ActionScript application to dump the meta data before the crash occurred. No video is rendered before the crash, but the metadata is received by the Flash Player:
TrendNET
meta
(Object)#0
displayHeight = 400
displayWidth = 640
frameHeight = 400
framerate = 15
frameWidth = 640
height = 400
rtpsessioninfo = (Object)#1
attributes = (Object)#2
charset = "Shift_JIS"
etag = "1234567890"
range = "npt=now-"
name = "TV-IP572W"
origin = "CV-RTSPHandler 1123412 0 IN IP4 192.168.1.201"
protocolversion = "0"
timing = "0 0"
trackinfo = (Array)#3
[0] (Object)#4
description = "{H264CodecConfigInfo: codec:H264, profile:Baseline, level:3.0, frameSize:640x400, displaySize:640x400, frameRate:15.0}"
language = "eng"
profile-level-id = "42a01e"
sampledescription = (Array)#5
[0] (Object)#6
sampletype = "H264"
sprop-parameter-sets = "Z0IAHukBQGd/4AAAAwAcSABt3QAM3+YA2IEJQA==,aM4xUg=="
timescale = 90000
type = "video"
videocodecid = "avc1"
width = 640
D-Link
meta
(Object)#0
displayHeight = 480
displayWidth = 640
frameHeight = 480
framerate = 15
frameWidth = 640
height = 480
rtpsessioninfo = (Object)#1
attributes = (Object)#2
charset = "Shift_JIS"
etag = "1234567890"
range = "npt=now-"
name = "DCS-942L"
origin = "CV-RTSPHandler 1123412 0 IN IP4 192.168.1.204"
protocolversion = "0"
timing = "0 0"
trackinfo = (Array)#3
[0] (Object)#4
description = "{H264CodecConfigInfo: codec:H264, profile:Baseline, level:3.0, frameSize:640x480, displaySize:640x480, frameRate:15.0}"
language = "eng"
profile-level-id = "42a01e"
sampledescription = (Array)#5
[0] (Object)#6
sampletype = "H264"
sprop-parameter-sets = "Z0IAHukBQHt/4AAAAwAcSABt3QAM3+YA2IEJQA==,aM4xUg=="
timescale = 90000
type = "video"
videocodecid = "avc1"
width = 640
File info from FFmpeg:
C:\Users\Dan\Desktop\Video\ffmpeg-20130406-git-7775992-win64-static\bi n>ffmpeg -i ..\..\..\trendnet.mp4
ffmpeg version N-51639-g7775992 Copyright (c) 2000-2013 the FFmpeg developers
built on Apr 5 2013 22:29:42 with gcc 4.8.0 (GCC)
configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enab
le-iconv --enable-libass --enable-libbluray --enable-libcaca --enable-libfreetype --enable-libgsm --enable-libilbc --enable-libmp3lame --enable-libopencore-amrn
b --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheo
ra --enable-libtwolame --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxavs --enable-libxvid --ena
ble-zlib
libavutil 52. 25.100 / 52. 25.100
libavcodec 55. 2.100 / 55. 2.100
libavformat 55. 1.100 / 55. 1.100
libavdevice 55. 0.100 / 55. 0.100
libavfilter 3. 49.100 / 3. 49.100
libswscale 2. 2.100 / 2. 2.100
libswresample 0. 17.102 / 0. 17.102
libpostproc 52. 2.100 / 52. 2.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '..\..\..\trendnet.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf55.1.100
Duration: 00:00:11.50, start: 0.000000, bitrate: 252 kb/s
Stream #0:0(und): Video: h264 (Baseline) (avc1 / 0x31637661), yuvj420p, 640x400, 251 kb/s, 9.57 fps, 10 tbr, 10240 tbn, 30 tbc
Metadata:
handler_name : VideoHandler