
Recherche avancée
Autres articles (55)
-
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 (...) -
Qu’est ce qu’un masque de formulaire
13 juin 2013, parUn masque de formulaire consiste en la personnalisation du formulaire de mise en ligne des médias, rubriques, actualités, éditoriaux et liens vers des sites.
Chaque formulaire de publication d’objet peut donc être personnalisé.
Pour accéder à la personnalisation des champs de formulaires, il est nécessaire d’aller dans l’administration de votre MediaSPIP puis de sélectionner "Configuration des masques de formulaires".
Sélectionnez ensuite le formulaire à modifier en cliquant sur sont type d’objet. (...) -
Les autorisations surchargées par les plugins
27 avril 2010, parMediaspip core
autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs
Sur d’autres sites (11007)
-
Why can't I set "aspect ratio" by ffmpeg -aspect ? [on hold]
7 août 2014, par yasiI want to generate an h264 (avc) file by a jpg file. I generated it by command :
- ffmpeg -f image2 -i img%d.jpg -vcodec libx264 sample.h264
- mv avatar.h264 sample-320.avc
the img%d.jpg is 0.jpg, 1.jpg, 2.jpg ... 24.jpg, all of which is the same, resolution is 320x180
When sample.avc is generated, I checked information of it by ESEyE, it’s like below.
As you can see, the resolution is correct, but aspect ratio is weird since original jpg sequence is 320x180, whose aspect ratio is 16:9. So, I tried to keep 16:9 by the command below
- ffmpeg -r 25 -f image2 -i img%d.jpg -vcodec libx264 -profile:v baseline -level:v 1.1 -aspect "16:9" sample.h264
However, it doesn’t work, the generated avc aspect ratio is still 5x3.
How can I keep aspect ratio of 16:9 ?
P.S.
I guess h264 miminal block is 16x16, and avc width could be padded as 192 (16 * 12), so aspect ratio is 320:192 = 5:3. -
ffmpeg HLS creation and segmentation results in "cannot decode" on iPad
5 mai 2014, par jt_dylanI have the following code that plays on Mac Safari :
<video controls="controls" width="480" height="270">
<source src="http://d1ckv7o9k6o3x9.cloudfront.net/d54cfa01-eff2-4e86-946e-dc8b2ee4a7e8/media/ hls/MVI_5927.m3u8">
</source></video>The url can be cut/pasted into the browser and works also but neither this code nor the url works in Windows Safari or iPad. Specifically on iPad I receive a cannot decode error. On Mac I have Quicktime installed so I tried that on Windows with no luck. The link that can be play on Mac is below.
http://d1ckv7o9k6o3x9.cloudfront.net/d54cfa01-eff2-4e86-946e-dc8b2ee4a7e8/media/hls/MVI_5927.m3u8
Browser Versions of software :
Mac Safari : Version 7.0.3 (9537.75.14) (works)
Windows Safari : Version 5.1.7 (7534.7.2) (doesn’t work - blank screen)
iPad Safari : ios Version 7.1.1 (doesn’t work - cannot decode)Here is how I’m creating my mp4 (lgpl)
I’m creating an mp4 with this command :
ffmpeg -i input.mov c:v mpeg4 q:v 1 test.mp4I’m creating the hls using ffmpeg lpgl with this command :
ffmpegcmd -re -y -i test.mp4 -map 0 -f segment -segment_list test.m3u8 -segment_list_flags +live -segment_time 1 -segment_list_type m3u8 test%05d.ts 2>&1
Now this works in Mac Safari with Quicktime installed but results in "cannot decode" if I try the url from ipad Safari.
I then tried with libx264 to create the mp4 as h.264 with aac and then copy to mpeg2 container as follows :
ffmpeg -i test.mov -c:v libx264 -c:a libfdk_aac -preset slower -b:a 240k test.slower.mp4
ffmpeg -i test.slower.mp4 -vcodec copy -f mpegts -bsf h264_mp4toannexb test.slower.ts
ffmpeg -re -y -i test.slower.ts -map 0 -f segment -segment_list test.slower.m3u8 -segment_list_flags +live -segment_time 1 -segment_list_type m3u8 test.slower.%05d.tsThis still produces the same results. Any idea what is wrong here ?
Any help is much appreciated.
Regards,
jt_dylanOutput from libx264 commands below :
ffmpeg -i test.mov -c:v libx264 -c:a libfdk_aac -preset slower -b:a 240k test.slower.mp4
ffmpeg version git-2014-05-04-aeeb3d4 Copyright (c) 2000-2014 the FFmpeg developers
built on May 4 2014 17:01:19 with gcc 4.6.3 (GCC) 20120306 (Red Hat 4.6.3-2)
configuration: --prefix=/home/ec2-user/ffmpeg_build --extra-cflags=-I/home/ec2-user/ffmpeg_build/include --extra-ldflags=-L/home/ec2-user/ffmpeg_build/lib --bindir=/home/ec2-user/bin --extra-libs=-ldl --enable-gpl --enable-nonfree --enable-libfdk_aac --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264
libavutil 52. 81.100 / 52. 81.100
libavcodec 55. 60.103 / 55. 60.103
libavformat 55. 37.102 / 55. 37.102
libavdevice 55. 13.101 / 55. 13.101
libavfilter 4. 5.100 / 4. 5.100
libswscale 2. 6.100 / 2. 6.100
libswresample 0. 18.100 / 0. 18.100
libpostproc 52. 3.100 / 52. 3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'tst/MVI_1716.MOV':
Metadata:
major_brand : qt
minor_version : 537331968
compatible_brands: qt CAEP
creation_time : 2012-07-21 05:17:44
Duration: 00:00:20.06, start: 0.000000, bitrate: 34471 kb/s
Stream #0:0(eng): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuvj420p(pc, smpte170m), 1920x1080, 33663 kb/s, 23.98 fps, 23.98 tbr, 24k tbn, 48k tbc (default)
Metadata:
creation_time : 2012-07-21 05:17:44
Stream #0:1(eng): Audio: pcm_s16le (sowt / 0x74776F73), 48000 Hz, mono, s16, 768 kb/s (default)
Metadata:
creation_time : 2012-07-21 05:17:44
No pixel format specified, yuvj420p for H.264 encoding chosen.
Use -pix_fmt yuv420p for compatibility with outdated media players.
[libx264 @ 0x39ae9e0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2
[libx264 @ 0x39ae9e0] profile High, level 5.0
[libx264 @ 0x39ae9e0] 264 - core 142 r2 ac76440 - H.264/MPEG-4 AVC codec - Copyleft 2003-2014 - http://www.videolan.org/x264.html - options: cabac=1 ref=8 deblock=1:0:0 analyse=0x3:0x133 me=umh subme=9 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=2 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=3 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=2 b_bias=0 direct=3 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=23 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 'tstconv/MVI_1716.slower.mp4':
Metadata:
major_brand : qt
minor_version : 537331968
compatible_brands: qt CAEP
encoder : Lavf55.37.102
Stream #0:0(eng): Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuvj420p, 1920x1080, q=-1--1, 24k tbn, 23.98 tbc (default)
Metadata:
creation_time : 2012-07-21 05:17:44
Stream #0:1(eng): Audio: aac (libfdk_aac) ([64][0][0][0] / 0x0040), 48000 Hz, mono, s16, 240 kb/s (default)
Metadata:
creation_time : 2012-07-21 05:17:44
Stream mapping:
Stream #0:0 -> #0:0 (h264 -> libx264)
Stream #0:1 -> #0:1 (pcm_s16le -> libfdk_aac)
Press [q] to stop, [?] for help
frame= 481 fps=1.5 q=-1.0 Lsize= 18428kB time=00:00:20.07 bitrate=7519.9kbits/s
video:17827kB audio:589kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.060811%
[libx264 @ 0x39ae9e0] frame I:3 Avg QP:23.31 size:113718
[libx264 @ 0x39ae9e0] frame P:135 Avg QP:25.06 size: 56912
[libx264 @ 0x39ae9e0] frame B:343 Avg QP:27.13 size: 29825
[libx264 @ 0x39ae9e0] consecutive B-frames: 1.2% 4.2% 20.6% 74.0%
[libx264 @ 0x39ae9e0] mb I I16..4: 20.0% 53.3% 26.6%
[libx264 @ 0x39ae9e0] mb P I16..4: 9.7% 22.8% 5.4% P16..4: 41.0% 8.6% 5.4% 0.1% 0.0% skip: 7.0%
[libx264 @ 0x39ae9e0] mb B I16..4: 3.3% 7.2% 2.0% B16..8: 40.7% 9.8% 1.7% direct: 6.3% skip:29.0% L0:49.6% L1:44.7% BI: 5.7%
[libx264 @ 0x39ae9e0] 8x8 transform intra:58.9% inter:70.2%
[libx264 @ 0x39ae9e0] direct mvs spatial:99.4% temporal:0.6%
[libx264 @ 0x39ae9e0] coded y,uvDC,uvAC intra: 58.6% 46.9% 7.3% inter: 23.9% 20.2% 0.2%
[libx264 @ 0x39ae9e0] i16 v,h,dc,p: 10% 64% 14% 12%
[libx264 @ 0x39ae9e0] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 7% 50% 10% 3% 4% 3% 8% 4% 12%
[libx264 @ 0x39ae9e0] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 4% 64% 5% 2% 3% 2% 6% 2% 10%
[libx264 @ 0x39ae9e0] i8c dc,h,v,p: 35% 53% 9% 3%
[libx264 @ 0x39ae9e0] Weighted P-Frames: Y:11.1% UV:4.4%
[libx264 @ 0x39ae9e0] ref P L0: 47.8% 12.2% 15.8% 6.8% 5.7% 4.2% 4.3% 2.6% 0.6% 0.0%
[libx264 @ 0x39ae9e0] ref B L0: 76.8% 10.5% 5.1% 2.9% 2.2% 1.5% 0.9%
[libx264 @ 0x39ae9e0] ref B L1: 94.6% 5.4%
[libx264 @ 0x39ae9e0] kb/s:7279.24
ffmpeg -i test.slower.mp4 -vcodec copy -f mpegts -bsf h264_mp4toannexb test.slower.ts
ffmpeg version git-2014-05-04-aeeb3d4 Copyright (c) 2000-2014 the FFmpeg developers
built on May 4 2014 17:01:19 with gcc 4.6.3 (GCC) 20120306 (Red Hat 4.6.3-2)
configuration: --prefix=/home/ec2-user/ffmpeg_build --extra-cflags=-I/home/ec2-user/ffmpeg_build/include --extra-ldflags=-L/home/ec2-user/ffmpeg_build/lib --bindir=/home/ec2-user/bin --extra-libs=-ldl --enable-gpl --enable-nonfree --enable-libfdk_aac --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264
libavutil 52. 81.100 / 52. 81.100
libavcodec 55. 60.103 / 55. 60.103
libavformat 55. 37.102 / 55. 37.102
libavdevice 55. 13.101 / 55. 13.101
libavfilter 4. 5.100 / 4. 5.100
libswscale 2. 6.100 / 2. 6.100
libswresample 0. 18.100 / 0. 18.100
libpostproc 52. 3.100 / 52. 3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'tstconv/MVI_1716.slower.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf55.37.102
Duration: 00:00:20.11, start: 0.042667, bitrate: 7508 kb/s
Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuvj420p(pc), 1920x1080, 7279 kb/s, 23.98 fps, 23.98 tbr, 24k tbn, 47.95 tbc (default)
Metadata:
handler_name : VideoHandler
Stream #0:1(eng): Audio: aac (mp4a / 0x6134706D), 48000 Hz, mono, fltp, 240 kb/s (default)
Metadata:
handler_name : SoundHandler
[swscaler @ 0x367c0c0] deprecated pixel format used, make sure you did set range correctly
Output #0, segment, to 'MVI_1716.slower.%05d.ts':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf55.37.102
Stream #0:0(eng): Video: mpeg2video, yuv420p, 1920x1080, q=2-31, 200 kb/s, 90k tbn, 23.98 tbc (default)
Metadata:
handler_name : VideoHandler
Stream #0:1(eng): Audio: mp2, 48000 Hz, mono, s16, 384 kb/s (default)
Metadata:
handler_name : SoundHandler
Stream mapping:
Stream #0:0 -> #0:0 (h264 -> mpeg2video)
Stream #0:1 -> #0:1 (aac -> mp2)
Press [q] to stop, [?] for help
frame= 482 fps= 24 q=31.0 Lsize=N/A time=00:00:20.12 bitrate=N/A dup=1 drop=0
video:8293kB audio:944kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 195032183209984.000000%
ffmpeg version git-2014-05-04-aeeb3d4 Copyright (c) 2000-2014 the FFmpeg developers
built on May 4 2014 17:01:19 with gcc 4.6.3 (GCC) 20120306 (Red Hat 4.6.3-2)
configuration: --prefix=/home/ec2-user/ffmpeg_build --extra-cflags=-I/home/ec2-user/ffmpeg_build/include --extra-ldflags=-L/home/ec2-user/ffmpeg_build/lib --bindir=/home/ec2-user/bin --extra-libs=-ldl --enable-gpl --enable-nonfree --enable-libfdk_aac --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264
libavutil 52. 81.100 / 52. 81.100
libavcodec 55. 60.103 / 55. 60.103
libavformat 55. 37.102 / 55. 37.102
libavdevice 55. 13.101 / 55. 13.101
libavfilter 4. 5.100 / 4. 5.100
libswscale 2. 6.100 / 2. 6.100
libswresample 0. 18.100 / 0. 18.100
libpostproc 52. 3.100 / 52. 3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'tstconv/MVI_1716.slower.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf55.37.102
Duration: 00:00:20.11, start: 0.042667, bitrate: 7508 kb/s
Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuvj420p(pc), 1920x1080, 7279 kb/s, 23.98 fps, 23.98 tbr, 24k tbn, 47.95 tbc (default)
Metadata:
handler_name : VideoHandler
Stream #0:1(eng): Audio: aac (mp4a / 0x6134706D), 48000 Hz, mono, fltp, 240 kb/s (default)
Metadata:
handler_name : SoundHandler
File 'tstconv/MVI_1716.slower.ts' already exists. Overwrite ? [y/N] y
Output #0, mpegts, to 'tstconv/MVI_1716.slower.ts':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf55.37.102
Stream #0:0(eng): Video: h264 (avc1 / 0x31637661), yuvj420p, 1920x1080, q=2-31, 7279 kb/s, 23.98 fps, 90k tbn, 23.98 tbc (default)
Metadata:
handler_name : VideoHandler
Stream #0:1(eng): Audio: mp2, 48000 Hz, mono, s16, 384 kb/s (default)
Metadata:
handler_name : SoundHandler
Stream mapping:
Stream #0:0 -> #0:0 (copy)
Stream #0:1 -> #0:1 (aac -> mp2)
Press [q] to stop, [?] for help
frame= 481 fps=0.0 q=-1.0 Lsize= 20334kB time=00:00:20.12 bitrate=8276.6kbits/s
video:17827kB audio:944kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 8.325850%
ffmpeg -re -y -i test.slower.ts -map 0 -f segment -segment_list test.slower.m3u8 -segment_list_flags +live -segment_time 1 -segment_list_type m3u8 test.slower.%05d.ts
ffmpeg version git-2014-05-04-aeeb3d4 Copyright (c) 2000-2014 the FFmpeg developers
built on May 4 2014 17:01:19 with gcc 4.6.3 (GCC) 20120306 (Red Hat 4.6.3-2)
configuration: --prefix=/home/ec2-user/ffmpeg_build --extra-cflags=-I/home/ec2-user/ffmpeg_build/include --extra-ldflags=-L/home/ec2-user/ffmpeg_build/lib --bindir=/home/ec2-user/bin --extra-libs=-ldl --enable-gpl --enable-nonfree --enable-libfdk_aac --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264
libavutil 52. 81.100 / 52. 81.100
libavcodec 55. 60.103 / 55. 60.103
libavformat 55. 37.102 / 55. 37.102
libavdevice 55. 13.101 / 55. 13.101
libavfilter 4. 5.100 / 4. 5.100
libswscale 2. 6.100 / 2. 6.100
libswresample 0. 18.100 / 0. 18.100
libpostproc 52. 3.100 / 52. 3.100
Input #0, mpegts, from 'tstconv/MVI_1716.slower.ts':
Duration: 00:00:20.11, start: 1.430733, bitrate: 8282 kb/s
Program 1
Metadata:
service_name : Service01
service_provider: FFmpeg
Stream #0:0[0x100]: Video: h264 (High) ([27][0][0][0] / 0x001B), yuvj420p(pc), 1920x1080, 23.98 fps, 23.98 tbr, 90k tbn, 47.95 tbc
Stream #0:1[0x101](eng): Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, mono, s16p, 373 kb/s
[swscaler @ 0x1fe9ae0] deprecated pixel format used, make sure you did set range correctly
Output #0, segment, to 'MVI_1716.slower.%05d.ts':
Metadata:
encoder : Lavf55.37.102
Stream #0:0: Video: mpeg2video, yuv420p, 1920x1080, q=2-31, 200 kb/s, 90k tbn, 23.98 tbc
Stream #0:1(eng): Audio: mp2, 48000 Hz, mono, s16, 384 kb/s
Stream mapping:
Stream #0:0 -> #0:0 (h264 -> mpeg2video)
Stream #0:1 -> #0:1 (mp2 -> mp2) -
Python ThreadedTCPServer : "Name or service not known"
11 avril 2014, par HalI was developing a ThreadedTCPServer to communicate with a PHP application also residing in this same machine. This is suppose to receive requests from this PHP app and to convert some videos locally using ffmpeg.
Here's the code :
# -*- coding: utf-8 -*-
import os
import socket
import threading
import logging.config
import SocketServer, time
from queuev2 import QueueServer
logging.basicConfig(format='[%(asctime)s.%(msecs).03d] %(message)s', datefmt='%Y-%m-%d %H:%M:%S', filename=os.path.join(os.path.dirname(os.path.realpath(__file__)), 'converter.log'), level=logging.INFO)
class ThreadedTCPRequestHandler(SocketServer.BaseRequestHandler):
def handle(self):
data = self.request.recv(1024)
cur_thread = threading.current_thread()
response = "{}: {}".format(cur_thread.name, data)
videoPool.add(data)
print "Output! %s" % data
self.request.sendall(response)
class ThreadedTCPServer(SocketServer.ThreadingMixIn, SocketServer.TCPServer):
pass
if __name__ == "__main__":
logging.info("Initializing...")
videoPool = QueueServer()
HOST, PORT = "localhost", 6666
server = ThreadedTCPServer((HOST, PORT), ThreadedTCPRequestHandler)
ip, port = server.server_address
# Start a thread with the server -- that thread will then start one
# more thread for each request
server_thread = threading.Thread(target=server.serve_forever)
# Exit the server thread when the main thread terminates
server_thread.daemon = True
server_thread.start()
print("Server loop running in thread: %s" % server_thread.name)
# "Groundhog day" time
while True:
time.sleep(999)
pass
#server.shutdown()This works well in my development laptop, but on the server i'm getting the following error :
Traceback (most recent call last):
File "server.py", line 31, in <module>
server = ThreadedTCPServer((HOST, PORT), ThreadedTCPRequestHandler)
File "/usr/lib/python2.7/SocketServer.py", line 408, in __init__
self.server_bind()
File "/usr/lib/python2.7/SocketServer.py", line 419, in server_bind
self.socket.bind(self.server_address)
File "/usr/lib/python2.7/socket.py", line 224, in meth
return getattr(self._sock,name)(*args)
socket.gaierror: [Errno -2] Name or service not known
</module>I'm guessing it has to do with the port I'm using (6666), but I've tried others and it hasn't been working. Would Unix Domain Sockets be of use here ? Can you give me an example ?