
Recherche avancée
Autres articles (56)
-
Le profil des utilisateurs
12 avril 2011, parChaque utilisateur dispose d’une page de profil lui permettant de modifier ses informations personnelle. Dans le menu de haut de page par défaut, un élément de menu est automatiquement créé à l’initialisation de MediaSPIP, visible uniquement si le visiteur est identifié sur le site.
L’utilisateur a accès à la modification de profil depuis sa page auteur, un lien dans la navigation "Modifier votre profil" est (...) -
Configurer la prise en compte des langues
15 novembre 2010, parAccéder à la configuration et ajouter des langues prises en compte
Afin de configurer la prise en compte de nouvelles langues, il est nécessaire de se rendre dans la partie "Administrer" du site.
De là, dans le menu de navigation, vous pouvez accéder à une partie "Gestion des langues" permettant d’activer la prise en compte de nouvelles langues.
Chaque nouvelle langue ajoutée reste désactivable tant qu’aucun objet n’est créé dans cette langue. Dans ce cas, elle devient grisée dans la configuration et (...) -
XMP PHP
13 mai 2011, parDixit Wikipedia, XMP signifie :
Extensible Metadata Platform ou XMP est un format de métadonnées basé sur XML utilisé dans les applications PDF, de photographie et de graphisme. Il a été lancé par Adobe Systems en avril 2001 en étant intégré à la version 5.0 d’Adobe Acrobat.
Étant basé sur XML, il gère un ensemble de tags dynamiques pour l’utilisation dans le cadre du Web sémantique.
XMP permet d’enregistrer sous forme d’un document XML des informations relatives à un fichier : titre, auteur, historique (...)
Sur d’autres sites (4228)
-
What causes Firefox to refuse playing one specific MP4 that plays well on other browsers, resolution being the only difference ?
3 décembre 2014, par FaroI’m a developer for a PHP powered website that allows the upload of videos which get converted to MP4 using ffmpeg. This setup worked pretty well so far, however today I came across a report of a user that couldn’t play one of the files in Firefox.
I was unable to replicate the issue on my own machine at first, but using a fresh install of Windows 7 I actually got the same issue : The file will not play in Firefox, but works fine in Chrome. If called up directly, Firefox will say "Video can’t be played because the file is corrupt".
When downloaded, Windows will also not create a thumbnail of the video for the file and WMP will only play the audio part.On my own machine the file works perfectly in WMP which made me wonder if it could be a codec issue (I do have the K-Lite Codec Pack installed), however I’ve compared the file to a working one and the only difference is the resolution, filesize and the format profile which is "High@L3.1" for a working file with a 720p resolution and "High@L4.0" for the non-working one (which is 1600x1200).
I then read through the Wikipedia article on H.264/MPEG-4 AVC and began to wonder if the level might be the issue, and the tool I used (XMedia Recode) actually did not allow me to set a height bigger than 1080 on Level 4, however when I set the level to 5 and encoded the file again, it still wouldn’t play.
I did find a note on the MDN page of supported formats which reads :
Firefox/Firefox for Android/Firefox OS supports the format in some cases, but only when a third-party decoder is available, and the device hardware can handle the profile used to encode the MP4.
I’m assuming that is why the codec pack would allow Firefox to play even the ’broken’ file on my machine, I still don’t understand though why Firefox does play some files but not this one, especially when Chrome on the same machine plays all of them.
The line in PHP that starts the conversion is as follows :
exec("/usr/local/bin/ffmpeg '-i' '" . $file_in . "' '-qscale' '4' '-y' '-threads' '1' '-acodec' 'libvo_aacenc' '-vcodec' 'h264' '" . $file_out . "' 2>&1", $buffer, $success);
This should produce correct files, and this is indeed the first time a file has issues.
MediaInfo provides this data for the file stream :
Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L4.0
Format settings, CABAC : Yes
Format settings, ReFrames : 4 frames
Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Duration : 12mn 26s
Bit rate : 77.7 Kbps
Width : 1 600 pixels
Height : 1 200 pixels
Display aspect ratio : 4:3
Frame rate mode : Constant
Frame rate : 30.000 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.001
Stream size : 6.92 MiB (36%)
Writing library : x264 core 142 r14 956c8d8
Encoding settings : cabac=1 / ref=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_pskip=1 / chroma_qp_offset=-2 / threads=1 / 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=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
Language : English
Audio
ID : 2
Format : AAC
Format/Info : Advanced Audio Codec
Format profile : LC
Codec ID : 40
Duration : 12mn 26s
Duration_LastFrame : -10ms
Bit rate mode : Constant
Bit rate : 128 Kbps
Channel(s) : 2 channels
Channel positions : Front: L R
Sampling rate : 44.1 KHz
Compression mode : Lossy
Stream size : 11.4 MiB (60%)
Language : EnglishI’ve uploaded a zip with 3 versions of the file, the untouched one, the converted one with the same settings the website would use, and another converted one with level 5.
Maybe I’m missing something obvious, but I couldn’t find anything wrong with it, what do I need to change in order to produce a file that will work natively in Firefox ?
Also, this is my first question on SO, so if you see anything that I can improve, please let me know :-)
Edit : This is the output of calling ffmpeg (with the faststart option)
/usr/local/bin/ffmpeg '-i' '49cf594e91d0dac376aa0b2b96972ded.mp4' '-movflags' '+faststart' '-qscale' '4' '-y' '-threads' '1' '-acodec' 'libvo_aacenc' '-vcodec' 'h264' 'test.mp4'
ffmpeg version 1.2.5- http://johnvansickle.com/ffmpeg/ Copyright (c) 2000-2014 the FFmpeg developers
built on Jan 22 2014 20:28:02 with gcc 4.8 (Debian 4.8.2-14)
configuration: --enable-gpl --enable-version3 --disable-shared --disable-debug --enable-runtime-cpudetect --enable-libmp3lame --enable-libx264 --enable-libspeex --enable-libvorbis --enable-libvpx --enable-libxvid --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-gray --enable-libopenjpeg --disable-ffserver
libavutil 52. 18.100 / 52. 18.100
libavcodec 54. 92.100 / 54. 92.100
libavformat 54. 63.104 / 54. 63.104
libavdevice 54. 3.103 / 54. 3.103
libavfilter 3. 42.103 / 3. 42.103
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 '49cf594e91d0dac376aa0b2b96972ded.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf54.63.104
Duration: 00:12:26.37, start: 0.036281, bitrate: 214 kb/s
Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1600x1200 [SAR 1:1 DAR 4:3], 77 kb/s, 30 fps, 30 tbr, 15360 tbn, 60 tbc
Metadata:
handler_name : VideoHandler
Stream #0:1(eng): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s
Metadata:
handler_name : SoundHandler
Please use -q:a or -q:v, -qscale is ambiguous
[libx264 @ 0x2802ac0] using SAR=1/1
[libx264 @ 0x2802ac0] using cpu capabilities: MMX2 SSE2Fast LZCNT
[libx264 @ 0x2802ac0] profile High, level 4.0
[libx264 @ 0x2802ac0] 264 - core 142 r14 956c8d8 - H.264/MPEG-4 AVC codec - Copyleft 2003-2014 - http://www.videolan.org/x264.html - options: cabac=1 ref=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_pskip=1 chroma_qp_offset=-2 threads=1 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=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 'test.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf54.63.104
Stream #0:0(eng): Video: h264 ([33][0][0][0] / 0x0021), yuv420p, 1600x1200 [SAR 1:1 DAR 4:3], q=-1--1, 15360 tbn, 30 tbc
Metadata:
handler_name : VideoHandler
Stream #0:1(eng): Audio: aac ([64][0][0][0] / 0x0040), 44100 Hz, stereo, s16, 128 kb/s
Metadata:
handler_name : SoundHandler
Stream mapping:
Stream #0:0 -> #0:0 (h264 -> libx264)
Stream #0:1 -> #0:1 (aac -> libvo_aacenc)
Press [q] to stop, [?] for help
Starting second pass: moving header on top of the file30.77 bitrate= 202.5kbits/s dup=1 drop=0
frame=15331 fps= 13 q=29.0 Lsize= 13201kB time=00:08:31.03 bitrate= 211.6kbits/s dup=1 drop=0
video:4673kB audio:7986kB subtitle:0 global headers:0kB muxing overhead 4.286767%
[libx264 @ 0x2802ac0] frame I:63 Avg QP:12.37 size: 39759
[libx264 @ 0x2802ac0] frame P:3905 Avg QP:20.36 size: 313
[libx264 @ 0x2802ac0] frame B:11363 Avg QP:33.67 size: 93
[libx264 @ 0x2802ac0] consecutive B-frames: 1.1% 0.1% 0.2% 98.6%
[libx264 @ 0x2802ac0] mb I I16..4: 48.0% 41.5% 10.5%
[libx264 @ 0x2802ac0] mb P I16..4: 0.1% 0.2% 0.0% P16..4: 0.5% 0.0% 0.0% 0.0% 0.0% skip:99.1%
[libx264 @ 0x2802ac0] mb B I16..4: 0.0% 0.0% 0.0% B16..8: 0.3% 0.0% 0.0% direct: 0.0% skip:99.7% L0:50.2% L1:48.9% BI: 0.8%
[libx264 @ 0x2802ac0] 8x8 transform intra:42.4% inter:36.9%
[libx264 @ 0x2802ac0] coded y,uvDC,uvAC intra: 6.9% 13.4% 9.4% inter: 0.0% 0.1% 0.0%
[libx264 @ 0x2802ac0] i16 v,h,dc,p: 82% 17% 1% 0%
[libx264 @ 0x2802ac0] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 30% 20% 49% 0% 0% 0% 0% 0% 0%
[libx264 @ 0x2802ac0] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 41% 20% 18% 3% 4% 4% 4% 4% 3%
[libx264 @ 0x2802ac0] i8c dc,h,v,p: 80% 12% 7% 1%
[libx264 @ 0x2802ac0] Weighted P-Frames: Y:0.3% UV:0.3%
[libx264 @ 0x2802ac0] ref P L0: 74.7% 3.8% 10.6% 10.9% 0.0%
[libx264 @ 0x2802ac0] ref B L0: 70.3% 28.9% 0.8%
[libx264 @ 0x2802ac0] ref B L1: 97.9% 2.1%
[libx264 @ 0x2802ac0] kb/s:74.90 -
Is it possible to link FFmpeg statically into an application built with Visual C++ ?
29 juillet 2013, par Richard NZI'm currently building and using FFmpeg on Windows and it works nicely. At present there are 5 relevant DLLs which I load and map relevant functions in as needed. However I am wondering if it is possible to avoid these DLLs by linking FFmpeg statically ?
My initial reaction is probably not, because the FFmpeg builds are done with MinGW's GCC and any static libraries generated by those tools will be in a format incompatible with Visual C++. If anyone has looked into this before I'd be curious to know if you had any luck ?
I did find this tool : http://www.binary-soft.com/dll2lib/dll2lib.htm. It's expensive but looks like it might do the trick as it converts a DLL directly to a static library.
Thanks.
-
FFMPEG not converting mp3 to ogg
25 juillet 2013, par nbs189I have a php upload script that converts MP3 files after they have been uploaded. I am keeping the mp3 file which is why I am doing it afterwards. A copy is created and then that is converted to ogg. The problem i am having is with FFMPEG as it is just not doing anything. I have never used FFMPEG or a tool like it before, nor have I used PHP's exec() function so I really have no idea how to use it but I have had a thorough look around for my answer before I came here.
exec("ffmpeg -i ".$target_path."".$hash_filename.".".$path_extension." ".$hash_filename.".ogg");
What the function could look like with data instead of variables :
ffmpeg -i ../uploads/ee78d5deb564901626067cc0008456ed.mp3 ee78d5deb564901626067cc0008456ed.ogg
I have checked with SSH and FFMPEG is located under the usual
usr/bin/ffmpeg
. I wondered if I should be targeting the file from where FFMPEG is or where the phpscript is but I have had no luck with either. Perhaps I am still targeting it from the wrong place ?I have checked and the codecs required for mp3 to ogg conversion are installed. I did also try adding those codecs into the command but the same thing happened. I understand FFMPEG automatically chooses which codecs to use so I ommited them.