
Recherche avancée
Médias (1)
-
Collections - Formulaire de création rapide
19 février 2013, par
Mis à jour : Février 2013
Langue : français
Type : Image
Autres articles (94)
-
Amélioration de la version de base
13 septembre 2013Jolie sélection multiple
Le plugin Chosen permet d’améliorer l’ergonomie des champs de sélection multiple. Voir les deux images suivantes pour comparer.
Il suffit pour cela d’activer le plugin Chosen (Configuration générale du site > Gestion des plugins), puis de configurer le plugin (Les squelettes > Chosen) en activant l’utilisation de Chosen dans le site public et en spécifiant les éléments de formulaires à améliorer, par exemple select[multiple] pour les listes à sélection multiple (...) -
Menus personnalisés
14 novembre 2010, parMediaSPIP utilise le plugin Menus pour gérer plusieurs menus configurables pour la navigation.
Cela permet de laisser aux administrateurs de canaux la possibilité de configurer finement ces menus.
Menus créés à l’initialisation du site
Par défaut trois menus sont créés automatiquement à l’initialisation du site : Le menu principal ; Identifiant : barrenav ; Ce menu s’insère en général en haut de la page après le bloc d’entête, son identifiant le rend compatible avec les squelettes basés sur Zpip ; (...) -
Soumettre bugs et patchs
10 avril 2011Un logiciel n’est malheureusement jamais parfait...
Si vous pensez avoir mis la main sur un bug, reportez le dans notre système de tickets en prenant bien soin de nous remonter certaines informations pertinentes : le type de navigateur et sa version exacte avec lequel vous avez l’anomalie ; une explication la plus précise possible du problème rencontré ; si possibles les étapes pour reproduire le problème ; un lien vers le site / la page en question ;
Si vous pensez avoir résolu vous même le bug (...)
Sur d’autres sites (7690)
-
Wo can tell me the difference and relation between ffmpeg 、libav and avconv
28 février 2012, par whywhen I run ffmpeg on ubuntu, it shows :
ffmpeg
ffmpeg version v0.8, Copyright (c) 2000-2011 the Libav developers
built on Feb 28 2012 13:27:36 with gcc 4.6.1
This program is not developed anymore and is only provided for compatibility. Use avconv instead (see Changelog for the list of incompatible changes).
Hyper fast Audio and Video encoder
usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...
Use -h to get full help or, even better, run 'man ffmpeg'I found avconv on http://libav.org, I am just perplexed by them
-
H.264 and VP8 for still image coding : WebP ?
Update : post now contains a Theora comparison as well ; see below.
JPEG is a very old lossy image format. By today’s standards, it’s awful compression-wise : practically every video format since the days of MPEG-2 has been able to tie or beat JPEG at its own game. The reasons people haven’t switched to something more modern practically always boil down to a simple one — it’s just not worth the hassle. Even if JPEG can be beaten by a factor of 2, convincing the entire world to change image formats after 20 years is nigh impossible. Furthermore, JPEG is fast, simple, and practically guaranteed to be free of any intellectual property worries. It’s been tried before : JPEG-2000 first, then Microsoft’s JPEG XR, both tried to unseat JPEG. Neither got much of anywhere.
Now Google is trying to dump yet another image format on us, “WebP”. But really, it’s just a VP8 intra frame. There are some obvious practical problems with this new image format in comparison to JPEG ; it doesn’t even support all of JPEG’s features, let alone many of the much-wanted features JPEG was missing (alpha channel support, lossless support). It only supports 4:2:0 chroma subsampling, while JPEG can handle 4:2:2 and 4:4:4. Google doesn’t seem interested in adding any of these features either.
But let’s get to the meat and see how these encoders stack up on compressing still images. As I explained in my original analysis, VP8 has the advantage of H.264′s intra prediction, which is one of the primary reasons why H.264 has such an advantage in intra compression. It only has i4x4 and i16x16 modes, not i8x8, so it’s not quite as fancy as H.264′s, but it comes close.
The test files are all around 155KB ; download them for the exact filesizes. For all three, I did a binary search of quality levels to get the file sizes close. For x264, I encoded with
--tune stillimage --preset placebo
. For libvpx, I encoded with--best
. For JPEG, I encoded with ffmpeg, then applied jpgcrush, a lossless jpeg compressor. I suspect there are better JPEG encoders out there than ffmpeg ; if you have one, feel free to test it and post the results. The source image is the 200th frame of Parkjoy, from derf’s page (fun fact : this video was shot here ! More info on the video here.).Files : (x264 [154KB], vp8 [155KB], jpg [156KB])
Results (decoded to PNG) : (x264, vp8, jpg)
This seems rather embarrassing for libvpx. Personally I think VP8 looks by far the worst of the bunch, despite JPEG’s blocking. What’s going on here ? VP8 certainly has better entropy coding than JPEG does (by far !). It has better intra prediction (JPEG has just DC prediction). How could VP8 look worse ? Let’s investigate.
VP8 uses a 4×4 transform, which tends to blur and lose more detail than JPEG’s 8×8 transform. But that alone certainly isn’t enough to create such a dramatic difference. Let’s investigate a hypothesis — that the problem is that libvpx is optimizing for PSNR and ignoring psychovisual considerations when encoding the image… I’ll encode with
--tune psnr --preset placebo
in x264, turning off all psy optimizations.Files : (x264, optimized for PSNR [154KB]) [Note for the technical people : because adaptive quantization is off, to get the filesize on target I had to use a CQM here.]
Results (decoded to PNG) : (x264, optimized for PSNR)
What a blur ! Only somewhat better than VP8, and still worse than JPEG. And that’s using the same encoder and the same level of analysis — the only thing done differently is dropping the psy optimizations. Thus we come back to the conclusion I’ve made over and over on this blog — the encoder matters more than the video format, and good psy optimizations are more important than anything else for compression. libvpx, a much more powerful encoder than ffmpeg’s jpeg encoder, loses because it tries too hard to optimize for PSNR.
These results raise an obvious question — is Google nuts ? I could understand the push for “WebP” if it was better than JPEG. And sure, technically as a file format it is, and an encoder could be made for it that’s better than JPEG. But note the word “could”. Why announce it now when libvpx is still such an awful encoder ? You’d have to be nuts to try to replace JPEG with this blurry mess as-is. Now, I don’t expect libvpx to be able to compete with x264, the best encoder in the world — but surely it should be able to beat an image format released in 1992 ?
Earth to Google : make the encoder good first, then promote it as better than the alternatives. The reverse doesn’t work quite as well.
Addendum (added Oct. 2, 03:51) :
maikmerten gave me a Theora-encoded image to compare as well. Here’s the PNG and the source (155KB). And yes, that’s Theora 1.2 (Ptalarbvorm) beating VP8 handily. Now that is embarassing. Guess what the main new feature of Ptalarbvorm is ? Psy optimizations…
Addendum (added Apr. 20, 23:33) :
There’s a new webp encoder out, written from scratch by skal (available in libwebp). It’s significantly better than libvpx — not like that says much — but it should probably beat JPEG much more readily now. The encoder design is rather unique — it basically uses K-means for a large part of the encoding process. It still loses to x264, but that was expected.
[155KB] -
avconv stops streaming after some time
4 juin 2014, par Dhrumil DoshiI am using raspberry-pi board and a usb camera attached with it. i use avconv tool to capture live video from camera and streaming it on network using rtp protocol.
My command on server(raspberry-pi board) is as below :
avconv -f video4linux2 -s 160x120 -i /dev/video0 -vcodec mpeg2video -r 25 -pix_fmt yuv420p -me_method epzs -b 2600k -bt 256k -f rtp rtp ://192.168.1.141:8554
streaming works successfully using this command. Here IP address 192.168.1.141 is the ip address of my client pc. i can play live streaming on client side using vlc successfully.
But Issue is after some time encoding and streaming on server stop automatically. And command hangs there.
Output on server is as below :
$ avconv -f video4linux2 -s 160x120 -v debug -i /dev/video0 -vcodec mpeg2video -r 25 -pix_fmt yuv420p -me_method epzs -b 2600k -bt 256k -f rtp rtp://192.168.1.141:8554
avconv version 0.8.10-6:0.8.10-1+rpi1, Copyright (c) 2000-2013 the Libav developers
built on Mar 22 2014 02:13:15 with gcc 4.6.3
configuration: --arch=arm --enable-pthreads --enable-runtime-cpudetect --extra-version='6:0.8.10-1+rpi1' --libdir=/usr/lib/arm-linux-gnueabihf --prefix=/usr --disable-yasm --enable-bzlib --enable-libdc1394 --enable-libdirac --enable-libfreetype --enable-frei0r --enable-gnutls --enable-libgsm --enable-libmp3lame --enable-librtmp --enable-libopencv --enable-libopenjpeg --enable-libpulse --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-vaapi --enable-vdpau --enable-libvorbis --enable-libvpx --enable-zlib --enable-gpl --enable-postproc --enable-swscale --enable-libcdio --enable-x11grab --enable-libx264 --enable-libxvid --shlibdir=/usr/lib/arm-linux-gnueabihf --enable-shared --disable-static
libavutil 51. 22. 2 / 51. 22. 2
libavcodec 53. 35. 0 / 53. 35. 0
libavformat 53. 21. 1 / 53. 21. 1
libavdevice 53. 2. 0 / 53. 2. 0
libavfilter 2. 15. 0 / 2. 15. 0
libswscale 2. 1. 0 / 2. 1. 0
libpostproc 52. 0. 0 / 52. 0. 0
[video4linux2 @ 0x54d7a0] [4]Capabilities: 84000001
[video4linux2 @ 0x54d7a0] The V4L2 driver changed the pixel format from 0x32315559 to 0x56595559
Last message repeated 1 times
[video4linux2 @ 0x54d7a0] The V4L2 driver changed the pixel format from 0x50323234 to 0x56595559
[video4linux2 @ 0x54d7a0] The V4L2 driver set input_id: 0, input: Camera 1
[rawvideo @ 0x54f860] err{or,}_recognition separate: 1; 1
[rawvideo @ 0x54f860] err{or,}_recognition combined: 1; 1
[video4linux2 @ 0x54d7a0] All info found
[video4linux2 @ 0x54d7a0] Estimating duration from bitrate, this may be inaccurate
Input #0, video4linux2, from '/dev/video0':
Duration: N/A, start: 21891.364784, bitrate: 9216 kb/s
Stream #0.0, 1, 1/1000000: Video: rawvideo, yuyv422, 160x120, 1/30, 9216 kb/s, 30 tbr, 1000k tbn, 30 tbc
[buffer @ 0x54f220] w:160 h:120 pixfmt:yuyv422
[avsink @ 0x54d740] auto-inserting filter 'auto-inserted scaler 0' between the filter 'src' and the filter 'out'
[scale @ 0x54f7e0] w:160 h:120 fmt:yuyv422 -> w:160 h:120 fmt:yuv420p flags:0x4
[mpeg2video @ 0x54ea60] err{or,}_recognition separate: 1; 1
[mpeg2video @ 0x54ea60] err{or,}_recognition combined: 1; 1
[mpeg2video @ 0x54ea60] detected 1 logical cores
[mpeg2video @ 0x54ea60] Unsupported bit depth: 0
[rawvideo @ 0x54f860] err{or,}_recognition separate: 1; 1
[rawvideo @ 0x54f860] err{or,}_recognition combined: 1; 1
Output #0, rtp, to 'rtp://192.168.1.141:8554':
Metadata:
encoder : Lavf53.21.1
Stream #0.0, 0, 1/90000: Video: mpeg2video, yuv420p, 160x120, 1/25, q=2-31, 2600 kb/s, 90k tbn, 25 tbc
Stream mapping:
Stream #0:0 -> #0:0 (rawvideo -> mpeg2video)
SDP:
v=0
o=- 0 0 IN IP4 127.0.0.1
s=No Name
c=IN IP4 192.168.1.141
t=0 0
a=tool:libavformat 53.21.1
m=video 8554 RTP/AVP 32
b=AS:2600
Press ctrl-c to stop encoding
*** drop!
Last message repeated 1 times
*** 1 dup!
*** 16 dup! fps= 25 q=2.0 size= 1027kB time=5.24 bitrate=1605.2kbits/s dup=1 drop=2
*** drop!
Last message repeated 11 times
*** drop!49 fps= 26 q=2.0 size= 1059kB time=5.92 bitrate=1464.9kbits/s dup=17 drop=14
Last message repeated 2 times
*** drop!76 fps= 25 q=2.0 size= 2022kB time=11.00 bitrate=1505.7kbits/s dup=17 drop=17
*** drop!48 fps= 25 q=2.0 size= 4086kB time=21.88 bitrate=1529.8kbits/s dup=17 drop=18
*** 1 dup!
*** 1 dup!0 fps= 25 q=2.0 size= 4171kB time=22.36 bitrate=1528.2kbits/s dup=18 drop=19
*** 1 dup!1 fps= 25 q=2.0 size= 4859kB time=26.00 bitrate=1530.8kbits/s dup=19 drop=19
*** 1 dup!0 fps= 25 q=2.0 size= 5152kB time=27.56 bitrate=1531.5kbits/s dup=20 drop=19
*** 1 dup!3 fps= 25 q=2.0 size= 5250kB time=28.08 bitrate=1531.7kbits/s dup=21 drop=19
*** drop!64 fps= 25 q=2.0 size= 7215kB time=38.52 bitrate=1534.5kbits/s dup=22 drop=19
*** 1 dup!6 fps= 25 q=2.0 size= 7306kB time=39.00 bitrate=1534.6kbits/s dup=22 drop=20
*** drop!07 fps= 25 q=2.0 size= 8288kB time=44.24 bitrate=1534.7kbits/s dup=23 drop=20
*** 1 dup!0 fps= 25 q=2.0 size= 10054kB time=53.56 bitrate=1537.8kbits/s dup=23 drop=21
*** 1 dup!9 fps= 25 q=2.0 size= 10342kB time=55.12 bitrate=1537.1kbits/s dup=24 drop=21
Last message repeated 1 times
*** drop!93 fps= 25 q=1.6 size= 10445kB time=55.68 bitrate=1536.7kbits/s dup=26 drop=21
*** 1 dup!
*** 7036829 dup! 25 q=2.0 size= 10630kB time=56.68 bitrate=1536.4kbits/s dup=27 drop=22Any ideas ?
Thanks in advance.