
Recherche avancée
Médias (1)
-
Rennes Emotion Map 2010-11
19 octobre 2011, par
Mis à jour : Juillet 2013
Langue : français
Type : Texte
Autres articles (56)
-
Personnaliser en ajoutant son logo, sa bannière ou son image de fond
5 septembre 2013, parCertains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;
-
Publier sur MédiaSpip
13 juin 2013Puis-je poster des contenus à partir d’une tablette Ipad ?
Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir -
Websites made with MediaSPIP
2 mai 2011, parThis page lists some websites based on MediaSPIP.
Sur d’autres sites (8707)
-
ffmpeg export multichannel audio Stereo won't play [migrated]
9 avril 2014, par speedyrazorI am trying to export all audio channels from a multichannel quicktime file with ffmpeg which has the following audio configuration, but am unsure if the command below is correct. All the files look and play correct in Quicktime player except the L+R_Total.wav which refuses to play in Quicktime player or Final Cut but plays fine in VLC, so i'm sure my ffmpeg command is not correct for the stereo on Track 7. The Stereo file is about 1.8GB in size. Here is my track layout in the Quicktime file :
Track 1 - mono
Track 2 - mono
Track 3 - mono
Track 4 - mono
Track 5 - mono
Track 6 - mono
Track 7 - stereoI am using :
/Users/me/Desktop/python/ffmpeg/ffmpeg -i /Users/me/Desktop/test.mov -acodec pcm_s24le -map 0:1 -y Left.wav -acodec pcm_s24le -map 0:2 Right.wav -acodec pcm_s24le -map 0:3 Center.wav -acodec pcm_s24le -map 0:4 LFE.wav -acodec pcm_s24le -map 0:5 Left_Surround.wav -acodec pcm_s24le -map 0:6 Right_Surround.wav -acodec pcm_s24le -map 0:7 Left+Right_Total.wav
Here is the printout from the terminal :
MacBook-Pro:~ me$ /Users/me/Desktop/python/ffmpeg/ffmpeg -i /Users/me/Desktop/test.mov -acodec pcm_s24le -map 0:1 -y Left.wav -acodec pcm_s24le -map 0:2 Right.wav -acodec pcm_s24le -map 0:3 Center.wav -acodec pcm_s24le -map 0:4 LFE.wav -acodec pcm_s24le -map 0:5 Left_Surround.wav -acodec pcm_s24le -map 0:6 Right_Surround.wav -acodec pcm_s24le -map 0:7 Left+Right_Total.wav
ffmpeg version 2.2 Copyright (c) 2000-2014 the FFmpeg developers
built on Mar 25 2014 15:00:55 with llvm-gcc 4.2.1 (LLVM build 2336.11.00)
configuration: --prefix=/Volumes/Ramdisk/sw --enable-gpl --enable-pthreads --enable-version3 --enable-libspeex --enable-libvpx --disable-decoder=libvpx --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libx264 --enable-avfilter --enable-libopencore_amrwb --enable-libopencore_amrnb --enable-filters --enable-libgsm --arch=x86_64 --enable-runtime-cpudetect
libavutil 52. 66.100 / 52. 66.100
libavcodec 55. 52.102 / 55. 52.102
libavformat 55. 33.100 / 55. 33.100
libavdevice 55. 10.100 / 55. 10.100
libavfilter 4. 2.100 / 4. 2.100
libswscale 2. 5.102 / 2. 5.102
libswresample 0. 18.100 / 0. 18.100
libpostproc 52. 3.100 / 52. 3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/Users/me/Desktop/test.mov':
Metadata:
major_brand : qt
minor_version : 537199360
compatible_brands: qt
creation_time : 2014-03-06 11:25:34
Duration: 00:01:03.48, start: 0.000000, bitrate: 153967 kb/s
Stream #0:0(eng): Video: prores (apch / 0x68637061), yuv422p10le, 1920x1080, 144704 kb/s, SAR 1:1 DAR 16:9, 23.98 fps, 23.98 tbr, 23976 tbn, 23976 tbc (default)
Metadata:
creation_time : 2014-03-06 11:25:34
handler_name : Apple Alias Data Handler
timecode : 00:00:00:00
Stream #0:1(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, 1 channels (FL), s32, 1152 kb/s (default)
Metadata:
creation_time : 2014-03-06 11:25:34
handler_name : Apple Alias Data Handler
Stream #0:2(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, 1 channels (FR), s32, 1152 kb/s (default)
Metadata:
creation_time : 2014-03-06 11:25:34
handler_name : Apple Alias Data Handler
Stream #0:3(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, mono, s32, 1152 kb/s (default)
Metadata:
creation_time : 2014-03-06 11:25:34
handler_name : Apple Alias Data Handler
Stream #0:4(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, 1 channels (LFE), s32, 1152 kb/s (default)
Metadata:
creation_time : 2014-03-06 11:25:34
handler_name : Apple Alias Data Handler
Stream #0:5(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, 1 channels (BL), s32, 1152 kb/s (default)
Metadata:
creation_time : 2014-03-06 11:25:34
handler_name : Apple Alias Data Handler
Stream #0:6(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, 1 channels (BR), s32, 1152 kb/s (default)
Metadata:
creation_time : 2014-03-06 11:25:34
handler_name : Apple Alias Data Handler
Stream #0:7(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, downmix, s32, 2304 kb/s (default)
Metadata:
creation_time : 2014-03-06 11:25:34
handler_name : Apple Alias Data Handler
Stream #0:8(eng): Data: none (tmcd / 0x64636D74) (default)
Metadata:
creation_time : 2014-03-06 11:26:04
handler_name : Apple Alias Data Handler
timecode : 00:00:00:00
Output #0, wav, to 'Left.wav':
Metadata:
major_brand : qt
minor_version : 537199360
compatible_brands: qt
ISFT : Lavf55.33.100
Stream #0:0(eng): Audio: pcm_s24le ([1][0][0][0] / 0x0001), 48000 Hz, 1 channels (FL), s32, 1152 kb/s (default)
Metadata:
creation_time : 2014-03-06 11:25:34
handler_name : Apple Alias Data Handler
Output #1, wav, to 'Right.wav':
Metadata:
major_brand : qt
minor_version : 537199360
compatible_brands: qt
ISFT : Lavf55.33.100
Stream #1:0(eng): Audio: pcm_s24le ([1][0][0][0] / 0x0001), 48000 Hz, 1 channels (FR), s32, 1152 kb/s (default)
Metadata:
creation_time : 2014-03-06 11:25:34
handler_name : Apple Alias Data Handler
Output #2, wav, to 'Center.wav':
Metadata:
major_brand : qt
minor_version : 537199360
compatible_brands: qt
ISFT : Lavf55.33.100
Stream #2:0(eng): Audio: pcm_s24le ([1][0][0][0] / 0x0001), 48000 Hz, mono, s32, 1152 kb/s (default)
Metadata:
creation_time : 2014-03-06 11:25:34
handler_name : Apple Alias Data Handler
Output #3, wav, to 'LFE.wav':
Metadata:
major_brand : qt
minor_version : 537199360
compatible_brands: qt
ISFT : Lavf55.33.100
Stream #3:0(eng): Audio: pcm_s24le ([1][0][0][0] / 0x0001), 48000 Hz, 1 channels (LFE), s32, 1152 kb/s (default)
Metadata:
creation_time : 2014-03-06 11:25:34
handler_name : Apple Alias Data Handler
Output #4, wav, to 'Left_Surround.wav':
Metadata:
major_brand : qt
minor_version : 537199360
compatible_brands: qt
ISFT : Lavf55.33.100
Stream #4:0(eng): Audio: pcm_s24le ([1][0][0][0] / 0x0001), 48000 Hz, 1 channels (BL), s32, 1152 kb/s (default)
Metadata:
creation_time : 2014-03-06 11:25:34
handler_name : Apple Alias Data Handler
Output #5, wav, to 'Right_Surround.wav':
Metadata:
major_brand : qt
minor_version : 537199360
compatible_brands: qt
ISFT : Lavf55.33.100
Stream #5:0(eng): Audio: pcm_s24le ([1][0][0][0] / 0x0001), 48000 Hz, 1 channels (BR), s32, 1152 kb/s (default)
Metadata:
creation_time : 2014-03-06 11:25:34
handler_name : Apple Alias Data Handler
Output #6, wav, to 'Left+Right_Total.wav':
Metadata:
major_brand : qt
minor_version : 537199360
compatible_brands: qt
ISFT : Lavf55.33.100
Stream #6:0(eng): Audio: pcm_s24le ([1][0][0][0] / 0x0001), 48000 Hz, downmix, s32, 2304 kb/s (default)
Metadata:
creation_time : 2014-03-06 11:25:34
handler_name : Apple Alias Data Handler
Stream mapping:
Stream #0:1 -> #0:0 (pcm_s24le -> pcm_s24le)
Stream #0:2 -> #1:0 (pcm_s24le -> pcm_s24le)
Stream #0:3 -> #2:0 (pcm_s24le -> pcm_s24le)
Stream #0:4 -> #3:0 (pcm_s24le -> pcm_s24le)
Stream #0:5 -> #4:0 (pcm_s24le -> pcm_s24le)
Stream #0:6 -> #5:0 (pcm_s24le -> pcm_s24le)
Stream #0:7 -> #6:0 (pcm_s24le -> pcm_s24le)
Press [q] to stop, [?] for help
size= 8927kB time=00:01:03.48 bitrate=1152.0kbits/s
video:0kB audio:71415kB subtitle:0 data:0 global headers:0kB muxing overhead -87.499863% -
Rotate video, output maximum 1920 x 1080 pixels
9 avril 2014, par Fabien BillerI used
ffmpeg.exe -ss 310 -i "H:\_REC\100MEDIA\someavi.AVI" -ss 0 -t 14 -vf "rotate='54*PI/180:ow=hypot(iw,ih):oh=ow'" -vf scale=1920:1080 "H:\_REC\100MEDIA\somemp4.mp4"
which should rotate the video(currently 1920 x 1080, MJPEG, 30fps) around 54° and fit it into 1920 x 1080 Pixels.
What it does is, it ignores the
-vf "rotate='54*PI/180:ow=hypot(iw,ih):oh=ow'" -vf scale=1920:1080
and returns the snippet.What to change ?
PS : ffmpeg version N-59696-gc0a33c4
OUTPUT :
E:\Ffmpeg\bin>ffmpeg -ss 310 -i "H:\_REC\100MEDIA\someavi.AVI"
-ss 0 -t 14 -vf "rotate='54*PI/180:ow=hypot(iw,ih):oh=ow'" -vf sca
le=1920:1080 "H:\_REC\100MEDIA\somemp4.mp4"
ffmpeg version N-59696-gc0a33c4 Copyright (c) 2000-2014 the FFmpeg developers
built on Jan 8 2014 22:07:06 with gcc 4.8.2 (GCC)
configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-av
isynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enab
le-iconv --enable-libass --enable-libbluray --enable-libcaca --enable-libfreetyp
e --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --ena
ble-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-l
ibopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libsp
eex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-aa
cenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavp
ack --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib
libavutil 52. 62.100 / 52. 62.100
libavcodec 55. 47.100 / 55. 47.100
libavformat 55. 22.102 / 55. 22.102
libavdevice 55. 5.102 / 55. 5.102
libavfilter 4. 0.103 / 4. 0.103
libswscale 2. 5.101 / 2. 5.101
libswresample 0. 17.104 / 0. 17.104
libpostproc 52. 3.100 / 52. 3.100
[avi @ 0000000002858060] non-interleaved AVI
Guessed Channel Layout for Input Stream #0.1 : mono
Input #0, avi, from 'H:\_REC\100MEDIA\someavi.AVI':
Duration: 00:19:59.95, start: 0.000000, bitrate: 13866 kb/s
Stream #0:0: Video: mjpeg (MJPG / 0x47504A4D), yuvj420p(pc), 1920x1080, 30 t
br, 30 tbn, 30 tbc
Stream #0:1: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 8000 Hz, mono, s16, 1
28 kb/s
File 'H:\_REC\100MEDIA\somemp4.mp4' already exists.
Overwrite ? [y/N] y
No pixel format specified, yuvj420p for H.264 encoding chosen.
Use -pix_fmt yuv420p for compatibility with outdated media players.
[libx264 @ 00000000049f2980] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2
AVX
[libx264 @ 00000000049f2980] profile High, level 4.0
[libx264 @ 00000000049f2980] 264 - core 140 r2377 1ca7bb9 - H.264/MPEG-4 AVC cod
ec - Copyleft 2003-2013 - http://www.videolan.org/x264.html - options: cabac=1 r
ef=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed
_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pski
p=1 chroma_qp_offset=-2 threads=12 lookahead_threads=2 sliced_threads=0 nr=0 dec
imate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b
_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=
25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.
60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to 'H:\_REC\100MEDIA\somemp4.mp4':
Metadata:
encoder : Lavf55.22.102
Stream #0:0: Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuvj420p, 1920x
1080, q=-1--1, 1000k tbn, 30 tbc
Stream #0:1: Audio: aac (libvo_aacenc) ([64][0][0][0] / 0x0040), 8000 Hz, mo
no, s16, 128 kb/s
Stream mapping:
Stream #0:0 -> #0:0 (mjpeg -> libx264)
Stream #0:1 -> #0:1 (pcm_s16le -> libvo_aacenc)
Press [q] to stop, [?] for help
frame= 30 fps=0.0 q=0.0 size= 0kB time=00:00:00.82 bitrate= 0.5kbits/s
frame= 55 fps= 54 q=0.0 size= 0kB time=00:00:01.59 bitrate= 0.2kbits/s
frame= 75 fps= 46 q=29.0 size= 600kB time=00:00:02.10 bitrate=2337.0kbits/
frame= 90 fps= 41 q=29.0 size= 1017kB time=00:00:02.61 bitrate=3185.9kbits/
frame= 105 fps= 37 q=29.0 size= 1482kB time=00:00:03.12 bitrate=3881.8kbits/
frame= 120 fps= 35 q=29.0 size= 1959kB time=00:00:03.76 bitrate=4258.3kbits/
frame= 140 fps= 35 q=29.0 size= 2588kB time=00:00:04.28 bitrate=4953.2kbits/
frame= 145 fps= 32 q=29.0 size= 2742kB time=00:00:04.66 bitrate=4816.0kbits/
frame= 162 fps= 32 q=29.0 size= 3274kB time=00:00:05.17 bitrate=5181.6kbits/
frame= 177 fps= 32 q=29.0 size= 3744kB time=00:00:05.56 bitrate=5515.8kbits/
frame= 190 fps= 31 q=29.0 size= 4144kB time=00:00:06.07 bitrate=5591.5kbits/
frame= 205 fps= 31 q=29.0 size= 4612kB time=00:00:06.45 bitrate=5851.7kbits/
frame= 215 fps= 30 q=29.0 size= 4895kB time=00:00:06.96 bitrate=5754.9kbits/
frame= 227 fps= 30 q=29.0 size= 5169kB time=00:00:07.35 bitrate=5759.4kbits/
frame= 245 fps= 30 q=29.0 size= 5571kB time=00:00:07.99 bitrate=5710.1kbits/
frame= 262 fps= 30 q=29.0 size= 6052kB time=00:00:08.50 bitrate=5830.4kbits/
frame= 280 fps= 30 q=29.0 size= 6505kB time=00:00:09.14 bitrate=5827.4kbits/
frame= 300 fps= 30 q=29.0 size= 7048kB time=00:00:09.65 bitrate=5979.4kbits/
frame= 305 fps= 29 q=29.0 size= 7175kB time=00:00:09.91 bitrate=5930.2kbits/
frame= 322 fps= 29 q=29.0 size= 7675kB time=00:00:10.55 bitrate=5958.3kbits/
frame= 342 fps= 29 q=29.0 size= 8237kB time=00:00:11.06 bitrate=6098.9kbits/
frame= 357 fps= 29 q=29.0 size= 8661kB time=00:00:11.70 bitrate=6062.0kbits/
frame= 369 fps= 29 q=29.0 size= 9010kB time=00:00:12.08 bitrate=6105.8kbits/
frame= 387 fps= 29 q=29.0 size= 9501kB time=00:00:12.72 bitrate=6115.2kbits/
frame= 407 fps= 29 q=29.0 size= 10052kB time=00:00:13.24 bitrate=6219.2kbits/
frame= 414 fps= 29 q=29.0 size= 10257kB time=00:00:13.62 bitrate=6167.7kbits/
frame= 421 fps= 26 q=-1.0 Lsize= 12062kB time=00:00:14.00 bitrate=7053.8kbits
/s dup=253 drop=0
video:12036kB audio:19kB subtitle:0 global headers:0kB muxing overhead 0.054462%
[libx264 @ 00000000049f2980] frame I:2 Avg QP:21.20 size:106302
[libx264 @ 00000000049f2980] frame P:336 Avg QP:23.51 size: 36006
[libx264 @ 00000000049f2980] frame B:83 Avg QP:23.96 size: 169
[libx264 @ 00000000049f2980] consecutive B-frames: 60.6% 39.4% 0.0% 0.0%
[libx264 @ 00000000049f2980] mb I I16..4: 2.0% 96.2% 1.8%
[libx264 @ 00000000049f2980] mb P I16..4: 0.6% 31.1% 0.1% P16..4: 13.6% 3.3
% 1.4% 0.0% 0.0% skip:49.8%
[libx264 @ 00000000049f2980] mb B I16..4: 0.0% 0.0% 0.0% B16..8: 1.3% 0.0
% 0.0% direct: 0.0% skip:98.7% L0: 1.5% L1:98.5% BI: 0.0%
[libx264 @ 00000000049f2980] 8x8 transform intra:97.7% inter:79.3%
[libx264 @ 00000000049f2980] coded y,uvDC,uvAC intra: 86.0% 87.6% 8.9% inter: 9.
3% 15.7% 1.4%
[libx264 @ 00000000049f2980] i16 v,h,dc,p: 7% 7% 6% 80%
[libx264 @ 00000000049f2980] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 16% 14% 54% 3% 3%
2% 3% 3% 3%
[libx264 @ 00000000049f2980] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 14% 12% 14% 6% 21%
5% 19% 5% 4%
[libx264 @ 00000000049f2980] i8c dc,h,v,p: 47% 24% 25% 3%
[libx264 @ 00000000049f2980] Weighted P-Frames: Y:3.6% UV:3.0%
[libx264 @ 00000000049f2980] ref P L0: 57.9% 15.5% 9.5% 16.4% 0.7%
[libx264 @ 00000000049f2980] ref B L0: 34.6% 65.4%
[libx264 @ 00000000049f2980] kb/s:7025.99 -
WebM file not seekable in Chrome, when generated with ffmpeg
11 avril 2014, par ZoonI am having a mind-boggling problem, I just can't seem to resolve.
Providing a WebM file through PHP is nothing new in my world, and I even know how to work with HTTP 206 Partial Content. But for some reason Chrome does not like it.
A simple HTML5 video playback
<video width="640" height="360" poster="picture/preview/V00000006.jpg" controls="controls" preload="preload">
<source type="video/webm" src="/video/V00000006.webm">
</source></video>where
/video/V00000006.webm
is rewritten to a PHP-file in Apache, will playback just fine.
But in Chrome the seekbar is not effective. When clicking on the seekbar the player will freeze and no longer playback until page is refreshed. Firefox handles it just fine !If I change
/video/V00000006.webm
to be a direct link to the same video it works just fine. I even compared the network requests between the two versions (with and without PHP) and there is barely any difference in the first request, but the second is failing in the PHP-delivered video.Initial request and seek request for Apache-delivered video file :
Request URL :http://mytestserver.net/movie1152x720.webm Request Method:GET Status Code:206 Partial Content Request Headers Accept :*/* Accept-Encoding:identity ;q=1, * ;q=0 Accept-Language:da-DK,da ;q=0.8,en-US ;q=0.6,en ;q=0.4 Cache-Control:no-cache Connection:keep-alive Cookie:PHPSESSID=i562540rek172mnv3nk528acj0 ; userPassword= ; userEmail= Host:mytestserver.net Pragma:no-cache Range:bytes=0- Referer :http://mytestserver.net/video.html User-Agent:Mozilla/5.0 (X11 ; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.146 Safari/537.36 Response Headers Accept-Ranges:bytes Connection:close Content-Length:4446451 Content-Range:bytes 0-4446450/4446451 Content-Type:video/webm Date:Fri, 11 Apr 2014 13:07:30 GMT ETag :"d2d0027-43d8f3-b91417c0" Last-Modified:Fri, 11 Apr 2014 12:46:31 GMT Server:Apache/2.2.3 (CentOS)
—
Request URL :http://mytestserver.net/movie1152x720.webm
Request Method:GET
Status Code:206 Partial Content
Request Headers
Accept :*/*
Accept-Encoding:identity ;q=1, * ;q=0
Accept-Language:da-DK,da ;q=0.8,en-US ;q=0.6,en ;q=0.4
Cache-Control:no-cache
Connection:keep-alive
Cookie:PHPSESSID=i562540rek172mnv3nk528acj0 ; userPassword= ; userEmail=
Host:mytestserver.net
Pragma:no-cache
Range:bytes=4445881-
Referer :http://mytestserver.net/video.html
User-Agent:Mozilla/5.0 (X11 ; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.146 Safari/537.36
Response Headers
Accept-Ranges:bytes
Connection:close
Content-Length:570
Content-Range:bytes 4445881-4446450/4446451
Content-Type:video/webm
Date:Fri, 11 Apr 2014 13:09:02 GMT
ETag :"d2d0027-43d8f3-b91417c0"
Last-Modified:Fri, 11 Apr 2014 12:46:31 GMT
Server:Apache/2.2.3 (CentOS)Initial request and seek request for PHP-streamed video :
Request URL :http://mytestserver.net/video/V00000006.webm Request Method:GET Status Code:206 Partial Content Request Headers Accept :*/* Accept-Encoding:identity ;q=1, * ;q=0 Accept-Language:da-DK,da ;q=0.8,en-US ;q=0.6,en ;q=0.4 Cache-Control:no-cache Connection:keep-alive Cookie:PHPSESSID=i562540rek172mnv3nk528acj0 ; userPassword= ; userEmail= Host:mytestserver.net Pragma:no-cache Range:bytes=0- Referer :http://mytestserver.net/video.html User-Agent:Mozilla/5.0 (X11 ; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.146 Safari/537.36 Response Headers Accept-Ranges:bytes Cache-Control:no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Connection:close Content-Length:8566268 Content-Range:bytes 0-8566267/8566268 Content-Type:video/webm Date:Fri, 11 Apr 2014 13:31:27 GMT Expires:Thu, 19 Nov 1981 08:52:00 GMT Pragma:no-cache Server:Apache/2.2.3 (CentOS) X-Powered-By:PHP/5.3.27
—
Request URL :http://mytestserver.net/video/V00000006.webm
Request Headers CAUTION : Provisional headers are shown.
Accept-Encoding:identity ;q=1, * ;q=0
Cache-Control:no-cache
Pragma:no-cache
Range:bytes=4338314-
Referer :http://mytestserver.net/video.html
User-Agent:Mozilla/5.0 (X11 ; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.146 Safari/537.36Notice how the second request does not complete, Provisional headers are shown.
I have tried altering the cache headers, setting it to the future, setting them blank and using file attachment headers.
I tried fiddling around a lot with the serving code, but lately I have ended up with a simple example.
<?php
$path = 'test.webm';
$size=filesize($path);
$fm=@fopen($path,'rb');
if(!$fm) {
header ("HTTP/1.0 404 Not Found");
die();
}
$begin=0;
$end = $size-1;
if(isset($_SERVER['HTTP_RANGE'])) {
if(preg_match('/bytes=\h*(\d+)-(\d*)[\D.*]?/i', $_SERVER['HTTP_RANGE'], $matches)) {
$begin=intval($matches[0]);
if(!empty($matches[1])) {
$end=intval($matches[1]);
}
}
}
if($begin>0||$end<$size)
header('HTTP/1.0 206 Partial Content');
else
header('HTTP/1.0 200 OK');
header("Content-Type: video/webm");
header('Accept-Ranges: bytes');
header('Content-Length:'.($end-$begin+1));
header("Content-Disposition: inline;");
header("Content-Range: bytes $begin-$end/$size");
header("Content-Transfer-Encoding: binary\n");
header('Connection: close');
ob_get_clean();
flush();
$f = fopen($path, 'r');
fseek($f, $offset);
$pos = 0;
$length = $end-$begin;
while($pos < $length)
{
$chunk = min($length-$pos, 1024);
echo fread($f, $chunk);
flush();
$pos += $chunk;
}
?>Please note, entering the PHP-delivered video URL directly into the browser does not make a difference from showing it in a HTML page.
I hope someone has an answer to why seeking might not work. Let me know if you have any suggestions.
Thanks !