
Recherche avancée
Autres articles (74)
-
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 -
Encoding and processing into web-friendly formats
13 avril 2011, parMediaSPIP automatically converts uploaded files to internet-compatible formats.
Video files are encoded in MP4, Ogv and WebM (supported by HTML5) and MP4 (supported by Flash).
Audio files are encoded in MP3 and Ogg (supported by HTML5) and MP3 (supported by Flash).
Where possible, text is analyzed in order to retrieve the data needed for search engine detection, and then exported as a series of image files.
All uploaded files are stored online in their original format, so you can (...) -
Submit bugs and patches
13 avril 2011Unfortunately a software is never perfect.
If you think you have found a bug, report it using our ticket system. Please to help us to fix it by providing the following information : the browser you are using, including the exact version as precise an explanation as possible of the problem if possible, the steps taken resulting in the problem a link to the site / page in question
If you think you have solved the bug, fill in a ticket and attach to it a corrective patch.
You may also (...)
Sur d’autres sites (7012)
-
ffmpeg mp4 x264 encoding -> playback causes "pending" in both crome and IE causing 10+ seconds delay
29 septembre 2014, par user1978645After encoding a video to mp4(x264 with aac) ; I have the following weird behaviour in both crome and IE :
Im serving the content from https with spdy enables.
It takes up to 30 seconds before the video is actually played, in the mean time i cannot reload the page it shows up as "pending". (even after i have visual on the video sometimes it takes 10-20 seconds before i can actually reload the page, or navigate to another url on the same domain)
After looking at the "network" tab in developer tools, i see the following requests for 1 page/video :
Path Method Status Type Initiator Size/content Time/latency
video.mp4 GET 206 OK video/mp4 other 32.3KB/32.0kb 600ms/339MS
video.mp4 GET 206 OK video/mp4 other 123kb/123b 21.85s/21.46s
video.mp4 GET 206 OK video/mp4 other 7.1MB/7.2MB 1.4min/2msI tried to isolate the problem, When i use an mp4 video from the internet (for example the demo video of jplayer) and load it from my server, it loads rapidly, without delays.
So it makes me think the problem lies within the encoding. I tried various things.
FFmpeg :-
csr 69 (low quality)
-
various options
HTML :
-
preload="none"
-
javascript loading/playing of the movie
-
type=’mp4/video’
-
no posterimage
But i cannot resolve the problem. Does anyone have a clue what is causing this ?
I have a download speed of 300kb/s and the movie is 6MB.
After the video starts, the video isn’t fully buffered, so i wonder : What is the html5 videoplayer doing all this time ?
The problem also blocks the connections. When i press "F5" in both chrome and IE the page beeing reloaded comes up in the network tab as "pending" and it can take 10 to 20 seconds before the page actually reloads.
ffmpeg command : (i used various commands but this is just 1 example which causes the problem)
/root/bin/ffmpeg -threads 1 -y -i /home/flirtzo/public_html//userfiles/files/94e76a18a7838e62ecb23cf0c374b1b798e7b936 -threads 0 -codec:a libfdk_aac -b:a 128k -vf "scale=-2:320" -preset veryslow -vcodec h264 -acodec aac -strict -2 /home/flirtzo/public_html/userfiles/files/b2/72/695f4eba95169a3f29564bf9571c703b05f1b5974f5156da633eb139c80a1575452e2858dfc61cc82bfca02d2b156aa64d4503695756481dc2a5d1c673a4cdea-94e76a18a7838e62ecb23cf0c374b1b798e7b936.mp4
Output :
ffmpeg version git-2014-04-16-c150e2c Copyright (c) 2000-2014 the FFmpeg developers
built on Sep 28 2014 21:08:17 with gcc 4.4.7 (GCC) 20120313 (Red Hat 4.4.7-4)
configuration: --prefix=/root/ffmpeg_build --extra-cflags=-I/root/ffmpeg_build/include --extra- ldflags=-L/root/ffmpeg_build/lib --bindir=/root/bin --extra-libs=-ldl --enable-gpl --enable-nonfree - -enable-libfdk_aac --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable- libx264
libavutil 52. 76.100 / 52. 76.100
libavcodec 55. 58.103 / 55. 58.103
libavformat 55. 37.100 / 55. 37.100
libavdevice 55. 13.100 / 55. 13.100
libavfilter 4. 4.100 / 4. 4.100
libswscale 2. 6.100 / 2. 6.100
libswresample 0. 18.100 / 0. 18.100
libpostproc 52. 3.100 / 52. 3.100
Input #0, mpeg, from '/home/flirtzo/public_html//userfiles/files/94e76a18a7838e62ecb23cf0c374b1b798e7b936':
Duration: 00:00:25.97, start: 0.340078, bitrate: 29004 kb/s
Stream #0:0[0x1e0]: Video: mpeg1video, yuv420p(tv), 352x240 [SAR 200:219 DAR 880:657], 1150 kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 29.97 tbc
Stream #0:1[0x1c0]: Audio: mp2, 44100 Hz, stereo, s16p, 224 kb/s
[libx264 @ 0x2b189c0] using SAR=1199/1314
[libx264 @ 0x2b189c0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
[libx264 @ 0x2b189c0] profile High, level 1.3
[libx264 @ 0x2b189c0] 264 - core 142 r2 d6b4e63 - H.264/MPEG-4 AVC codec - Copyleft 2003-2014 - http://www.videolan.org/x264.html - options: cabac=1 ref=2 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=4 psy=1 psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=0 threads=12 lookahead_threads=1 sliced_threads=0 nr=0 decimate=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=1 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=20 rc=crf mbtree=1 crf=51.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to '/home/flirtzo/public_html/userfiles/files/b2/72/695f4eba95169a3f29564bf9571c703b05f1b5974f5156da633e b139c80a1575452e2858dfc61cc82bfca02d2b156aa64d4503695756481dc2a5d1c673a4cdea- 94e76a18a7838e62ecb23cf0c374b1b798e7b936.mp4':
Metadata:
encoder : Lavf55.37.100
Stream #0:0: Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 320x218 [SAR 1199:1314 DAR 880:657], q=-1--1, 30k tbn, 29.97 tbc
Stream #0:1: Audio: aac ([64][0][0][0] / 0x0040), 44100 Hz, stereo, fltp, 128 kb/s
Stream mapping:
Stream #0:0 -> #0:0 (mpeg1video -> libx264)
Stream #0:1 -> #0:1 (mp2 -> aac)
Press [q] to stop, [?] for help
frame=16127 fps=786 q=-1.0 Lsize= 10559kB time=00:08:58.12 bitrate= 160.7kbits/s dup=12 drop=0
video:1586kB audio:8410kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 5.638589%
[libx264 @ 0x2b189c0] frame I:109 Avg QP:50.58 size: 494
[libx264 @ 0x2b189c0] frame P:9537 Avg QP:51.00 size: 138
[libx264 @ 0x2b189c0] frame B:6481 Avg QP:51.00 size: 40
[libx264 @ 0x2b189c0] consecutive B-frames: 21.8% 72.1% 5.4% 0.7%
[libx264 @ 0x2b189c0] mb I I16..4: 46.1% 53.9% 0.0%
[libx264 @ 0x2b189c0] mb P I16..4: 6.0% 6.1% 0.0% P16..4: 12.7% 1.1% 0.1% 0.0% 0.0% skip:74.1%
[libx264 @ 0x2b189c0] mb B I16..4: 0.1% 0.1% 0.0% B16..8: 6.3% 0.0% 0.0% direct: 0.7% skip:92.9% L0:38.6% L1:61.2% BI: 0.2%
[libx264 @ 0x2b189c0] 8x8 transform intra:50.8% inter:85.6%
[libx264 @ 0x2b189c0] coded y,uvDC,uvAC intra: 5.9% 39.5% 0.1% inter: 0.1% 1.0% 0.0%
[libx264 @ 0x2b189c0] i16 v,h,dc,p: 56% 30% 7% 7%
[libx264 @ 0x2b189c0] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 12% 11% 62% 3% 3% 3% 3% 2% 2%
[libx264 @ 0x2b189c0] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 19% 5% 73% 2% 0% 0% 0% 0% 2%
[libx264 @ 0x2b189c0] i8c dc,h,v,p: 97% 1% 2% 0%
[libx264 @ 0x2b189c0] Weighted P-Frames: Y:5.5% UV:2.7%
[libx264 @ 0x2b189c0] ref P L0: 64.8% 35.2%
[libx264 @ 0x2b189c0] ref B L0: 75.2% 24.8%
[libx264 @ 0x2b189c0] ref B L1: 99.3% 0.7%
[libx264 @ 0x2b189c0] kb/s:24.13
ffmpeg version git-2014-04-16-c150e2c Copyright (c) 2000-2014 the FFmpeg developers
built on Sep 28 2014 21:08:17 with gcc 4.4.7 (GCC) 20120313 (Red Hat 4.4.7-4)
configuration: --prefix=/root/ffmpeg_build --extra-cflags=-I/root/ffmpeg_build/include --extra- ldflags=-L/root/ffmpeg_build/lib --bindir=/root/bin --extra-libs=-ldl --enable-gpl --enable-nonfree - -enable-libfdk_aac --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable- libx264
libavutil 52. 76.100 / 52. 76.100
libavcodec 55. 58.103 / 55. 58.103
libavformat 55. 37.100 / 55. 37.100
libavdevice 55. 13.100 / 55. 13.100
libavfilter 4. 4.100 / 4. 4.100
libswscale 2. 6.100 / 2. 6.100
libswresample 0. 18.100 / 0. 18.100
libpostproc 52. 3.100 / 52. 3.100
Input #0, mpeg, from '/home/flirtzo/public_html//userfiles/files/94e76a18a7838e62ecb23cf0c374b1b798e7b936':
Duration: 00:00:25.97, start: 0.340078, bitrate: 29004 kb/s
Stream #0:0[0x1e0]: Video: mpeg1video, yuv420p(tv), 352x240 [SAR 200:219 DAR 880:657], 1150 kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 29.97 tbc
Stream #0:1[0x1c0]: Audio: mp2, 44100 Hz, stereo, s16p, 224 kb/s
[libx264 @ 0x300d9c0] using SAR=200/219
[libx264 @ 0x300d9c0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
[libx264 @ 0x300d9c0] profile High, level 2.2
[libx264 @ 0x300d9c0] 264 - core 142 r2 d6b4e63 - H.264/MPEG-4 AVC codec - Copyleft 2003-2014 - http://www.videolan.org/x264.html - options: cabac=1 ref=16 deblock=1:0:0 analyse=0x3:0x133 me=umh subme=10 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=24 chroma_me=1 trellis=2 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=12 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=8 b_pyramid=2 b_adapt=2 b_bias=0 direct=3 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=60 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 '/home/flirtzo/public_html/userfiles/files/b2/72/73d4a3245c0b0e174ab7ce0f872ba3f649f8b93f73a6deeab364 4a994009d73638ce61aecc7dc2e0250c4e74ff2d9a4d479ed35cef26b3f6e1a77e8bf5938518- 94e76a18a7838e62ecb23cf0c374b1b798e7b936.mp4':
Metadata:
encoder : Lavf55.37.100
Stream #0:0: Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 352x240 [SAR 200:219 DAR 880:657], q=-1--1, 30k tbn, 29.97 tbc
Stream #0:1: Audio: aac ([64][0][0][0] / 0x0040), 44100 Hz, stereo, fltp, 128 kb/s
Stream mapping:
Stream #0:0 -> #0:0 (mpeg1video -> libx264)
Stream #0:1 -> #0:1 (mp2 -> aac)
Press [q] to stop, [?] for help
frame=16127 fps= 88 q=-1.0 Lsize= 29190kB time=00:08:58.12 bitrate= 444.4kbits/s dup=12 drop=0
video:20221kB audio:8410kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 1.954086%
[libx264 @ 0x300d9c0] frame I:73 Avg QP:24.31 size: 8024
[libx264 @ 0x300d9c0] frame P:4399 Avg QP:26.97 size: 2600
[libx264 @ 0x300d9c0] frame B:11655 Avg QP:32.51 size: 745
[libx264 @ 0x300d9c0] consecutive B-frames: 3.8% 5.0% 27.2% 18.4% 8.4% 33.9% 1.7% 0.7% 0.9%
[libx264 @ 0x300d9c0] mb I I16..4: 10.8% 68.5% 20.7%
[libx264 @ 0x300d9c0] mb P I16..4: 2.9% 7.5% 0.8% P16..4: 45.1% 18.4% 12.4% 0.5% 0.1% skip:12.3%
[libx264 @ 0x300d9c0] mb B I16..4: 0.6% 1.3% 0.1% B16..8: 40.1% 8.7% 1.7% direct: 2.1% skip:45.5% L0:47.2% L1:41.7% BI:11.1%
[libx264 @ 0x300d9c0] 8x8 transform intra:66.7% inter:76.7%
[libx264 @ 0x300d9c0] direct mvs spatial:99.9% temporal:0.1%
[libx264 @ 0x300d9c0] coded y,uvDC,uvAC intra: 60.3% 75.8% 16.4% inter: 17.3% 16.8% 0.6%
[libx264 @ 0x300d9c0] i16 v,h,dc,p: 16% 27% 11% 47%
[libx264 @ 0x300d9c0] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 13% 13% 18% 6% 9% 9% 11% 9% 11%
[libx264 @ 0x300d9c0] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 13% 15% 7% 7% 14% 14% 13% 8% 10%
[libx264 @ 0x300d9c0] i8c dc,h,v,p: 26% 32% 20% 22%
[libx264 @ 0x300d9c0] Weighted P-Frames: Y:10.1% UV:6.9%
[libx264 @ 0x300d9c0] ref P L0: 40.6% 12.1% 10.0% 5.2% 5.2% 4.7% 4.6% 3.0% 2.5% 2.1% 1.9% 1.8% 1.7% 1.7% 1.6% 1.3%
[libx264 @ 0x300d9c0] ref B L0: 71.4% 5.6% 3.2% 3.0% 3.1% 2.8% 2.5% 1.8% 1.3% 1.0% 1.1% 1.2% 1.0% 0.7% 0.5%
[libx264 @ 0x300d9c0] ref B L1: 96.3% 3.7%
[libx264 @ 0x300d9c0] kb/s:307.82 -
-
Revisiting the Belco Alpha-400
26 août 2010, par Multimedia Mike — GeneralRelieved of the primary FATE maintenance duties, I decided to dust off my MIPS-based Belco Alpha-400 and try to get it doing FATE cycles. And just as I was about to get FATE running, I saw that Mans already got his MIPS-based Popcorn Hour device to run FATE. But here are my notes anyway.
Getting A Prompt
For my own benefit, I made a PDF to remind me precisely how to get a root prompt on the Alpha-400. The ‘jailbreak’ expression seems a little juvenile to me, but it seems to be in vogue right now.Toolchain
When I last tinkered with the Alpha-400, I was trying to build a toolchain that could build binaries to run on the unit’s MIPS chip, to no avail. Sometime last year, MichaelK put together x86_32-hosted toolchains that are able to build mipsel 32-bit binaries for Linux 2.4 and 2.6. The Alpha-400 uses a 2.4 kernel and the corresponding toolchain works famously for building current FFmpeg (--disable-devices
is necessary for building).FATE Samples
Next problem : Making the FATE suite available to the Alpha-400. I copied all of the FATE suite samples onto a VFAT-formatted SD card. The filename case is not preserved for all files which confounds me since it is preserved in other cases. I tried formatting the card for ext3 but the Alpha-400 would not mount it, even though /proc/filesystems lists ext3 (supporting an older version of ext3 ?).Alternative : Copy all of the FATE samples to the device’s rootfs. Space will be a little tight, though. Then again, there is over 600 MB of space free ; I misread earlier and thought there were only 300 MB free.
Remote Execution
To perform FATE cycles on a remote device, it helps to be able to SSH into that remote device. I don’t even want to know how complicated it would be to build OpenSSH for the device. However, the last time I brought up this topic, I learned about a lighter weight SSH replacement called Dropbear. It turns out that Dropbear runs great on this MIPS computer.Running FATE Remotely
I thought all the pieces would be in place to run FATE at this point. However, there is one more issue : Running FATE on a remote system requires that the host and the target are sharing a filesystem somehow. My personal favorite remote filesystem method is sshfs which is supposed to work wherever there is an SSH server. That’s not entirely true, though– sshfs also requires sftp-server to be installed on the server side, a program that Dropbear does not currently provide.I’m not even going to think about getting Samba or NFS server software installed on the Alpha-400. According to the unit’s /proc/filesystems file, nfs is a supported filesystem. I hate setting up NFS but may see if I can get that working anyway.
Residual Weirdness
The unit comes with the venerable Busybox program (BusyBox v1.4.1 (2007-06-01 20:37:18 CST) multi-call binary
) for most of its standard command line utilities. I noticed a quirk where BusyBox’s md5sum gives weird hex characters. This might be a known/fixed issue.Another item is that the Alpha-400′s /dev/null file only has rwxr-xr-x per default. This caused trouble when I first tried to scp using Dropbear using a newly-created, unprivileged user.
-
Learn Multimedia Programming By Writing A JPEG Decoder
6 janvier 2011, par Multimedia Mike — ProgrammingFor those of you who hack on multimedia tech, how did you get started ? Did you begin by studying the mathematical underpinnings of multimedia codec algorithms ? Or did you find a practical problem and jump right in by writing code ? (Personally, I was always more of a nuts & bolts hacker than a math guy.) I ask because I occasionally get emails from aspiring multimedia hackers who want to know where to begin. Invariably, they want to go the math-first route. I heavily discourage this approach.
I have a crazy idea for anyone who wants a crash course on multimedia hacking : write a JPEG decoder. In doing so, you will be exposed to a lot of key domain concepts such as bitstream parsing, Huffman decoding, dequantization, zigzagging, the dreaded (inverse) discrete cosine transform, YUV vs. RGB colorspaces, macroblock organization, delta coding, and run length coding.
Sure, JPEG decoding is a solved problem. But that’s hardly the point. Why would you enter an unfamiliar field and hope to come up to speed on the basics by leaping straight into the domain’s unsolved problems ? If you are successful in this exercise, no one will ever use the fruits of your labor, but that doesn’t really matter.
So, do you want to learn multimedia hacking quickly ? Then grab a JPEG file (maybe create a few contrived ones that are small, have friendly dimensions, and feature predictable patterns), grab a good JPEG reference, and implement the decoding algorithm in the language and platform of your choice.
On the matter of the reference, my personal favorite reference has always been A note about the JPEG decoding algorithm by Cristi Cuturicu. The English grammar is a bit dodgy but overall, it might be the best reference you’ll find on the matter— as simple as it needs to be, but no simpler.
Good luck !