
Recherche avancée
Autres articles (61)
-
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 (5132)
-
KeyError : 'video_fps' with moviepy ffmpeg
11 août 2020, par Ethan ShoeI am writing a Python script to convert a video (.MP4) into an audio file (.MP3) on a Django server. To achieve this, I am using the Moviepy library but when I run the script, I get the following error :



Internal Server Error: /test/
Traceback (most recent call last):
 File "C:\Users\etsho\AppData\Local\Programs\Python\Python38\lib\site-packages\django\core\handlers\exception.py", line 34, in inner
 response = get_response(request)
 File "C:\Users\etsho\AppData\Local\Programs\Python\Python38\lib\site-packages\django\core\handlers\base.py", line 126, in _get_response
 response = self.process_exception_by_middleware(e, request)
 File "C:\Users\etsho\AppData\Local\Programs\Python\Python38\lib\site-packages\django\core\handlers\base.py", line 124, in _get_response
 response = wrapped_callback(request, *callback_args, **callback_kwargs)
 File "C:\Users\etsho\AppData\Local\Programs\Python\Python38\lib\site-packages\django\views\decorators\csrf.py", line 54, in wrapped_view
 return view_func(*args, **kwargs)
 File "C:\shoe\musicsite\main\views.py", line 29, in test
 video = VideoFileClip(os.path.join(basePath + ".mp4"))
 File "C:\Users\etsho\AppData\Local\Programs\Python\Python38\lib\site-packages\moviepy\video\io\VideoFileClip.py", line 88, in __init__
 self.reader = FFMPEG_VideoReader(filename, pix_fmt=pix_fmt,
 File "C:\Users\etsho\AppData\Local\Programs\Python\Python38\lib\site-packages\moviepy\video\io\ffmpeg_reader.py", line 34, in __init__
 self.fps = infos['video_fps']
KeyError: 'video_fps'
[15/Nov/2019 23:49:43] "POST /test/ HTTP/1.1" 500 80909




There's practically no information about this error or how to solve it that I could find, so any help or insight would be much appreciated.



Here is my Python script (views.py) :



import pyodbc, json, pytube
from django.http import HttpResponse
from django.views.decorators.csrf import csrf_exempt
from rest_framework import parsers
import os
from moviepy.editor import *

@csrf_exempt
def test(request):
if request.method == 'POST':
 filePath = 'C:\\Users\\etsho\\Music\\'

 #retrieve url from app
 body_unicode = request.body.decode('utf-8')
 body = json.loads(body_unicode)
 videoURL = body['url']

 print("before download")

 #download youtube video
 youtube = pytube.YouTube(videoURL)
 videoTitle = youtube.title
 video = youtube.streams.filter(only_audio=True).first()
 freshDownload = video.download(filePath)

 print("after download")

 basePath, extension = os.path.splitext(freshDownload)
 video = VideoFileClip(os.path.join(basePath + ".mp4"))
 video.audio.write_audiofile(os.path.join(basePath + ".mp3"))

 print("video converted")



return HttpResponse("")



-
Conditionally rotate portrait video if landscape with FFmeg
12 novembre 2019, par JulesI need to convert only portrait videos to landscape, some video maybe landscape already.
I need to achieve this with a shell script on a mac.
I’ve previously managed to rotate a video with ..
ffmpeg -i "/Users/jm/Library/Mobile Documents/com~apple~QuickTimePlayerX/Documents/output.mp4"
-strict 1 -metadata:s:v rotate="90" -codec copy "$3"$3 is the input file in my shell script
I’ve found this ...
ffmpeg -i input.m4v 2>&1 | grep rotate
From this answer https://stackoverflow.com/a/31683689/450456
I’m not sure how to combine the two, or have to get and use the height and width in an if statement in a shell script.
EDIT : Info as requested
ffmpeg -i final.mp4
ffmpeg version 3.4.1 Copyright (c) 2000-2017 the FFmpeg developers
built with Apple LLVM version 9.0.0 (clang-900.0.39.2)
configuration: --prefix=/usr/local/Cellar/ffmpeg/3.4.1_2 --enable-shared --enable-pthreads --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --disable-jack --enable-gpl --enable-libass --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid --enable-opencl --enable-videotoolbox --enable-openssl --disable-lzma --enable-nonfree
libavutil 55. 78.100 / 55. 78.100
libavcodec 57.107.100 / 57.107.100
libavformat 57. 83.100 / 57. 83.100
libavdevice 57. 10.100 / 57. 10.100
libavfilter 6.107.100 / 6.107.100
libavresample 3. 7. 0 / 3. 7. 0
libswscale 4. 8.100 / 4. 8.100
libswresample 2. 9.100 / 2. 9.100
libpostproc 54. 7.100 / 54. 7.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'final.mp4':
Metadata:
major_brand : qt
minor_version : 0
compatible_brands: qt
creation_time : 2019-11-12T20:45:27.000000Z
Duration: 00:00:24.36, start: 0.031667, bitrate: 365 kb/s
Stream #0:0(und): Video: hevc (Main 10) (hvc1 / 0x31637668), yuv420p10le(tv, smpte170m/unknown/unknown), 1242x2688, 365 kb/s, 1.73 fps, 600 tbr, 600 tbn, 600 tbc (default)
Metadata:
creation_time : 2019-11-12T20:45:27.000000Z
handler_name : Core Media Data Handler
encoder : HEVC
At least one output file must be specified -
ffmpeg concat video length is not the sum of durations
9 novembre 2019, par MasonI’m simply trying to put some images together into a video with specific durations. I’m using the command
ffmpeg -f concat -i concat.txt -r 30 video.mp4
# concat.txt
file capture12.png
duration 1
file capture57.png
duration 3
file capture156.png
duration 7
file capture234.png
duration 5
file capture272.png
duration 3The output of my console is
ffmpeg version 4.2.1 Copyright (c) 2000-2019 the FFmpeg developers
built with gcc 9.1.1 (GCC) 20190807
configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-amf --enable-ffnvcodec --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt
libavutil 56. 31.100 / 56. 31.100
libavcodec 58. 54.100 / 58. 54.100
libavformat 58. 29.100 / 58. 29.100
libavdevice 58. 8.100 / 58. 8.100
libavfilter 7. 57.100 / 7. 57.100
libswscale 5. 5.100 / 5. 5.100
libswresample 3. 5.100 / 3. 5.100
libpostproc 55. 5.100 / 55. 5.100
Input #0, concat, from 'concat.txt':
Duration: 00:00:19.00, start: 0.000000, bitrate: 0 kb/s
Stream #0:0: Video: png, rgba(pc), 983x553, 25 tbr, 25 tbn, 25 tbc
Stream mapping:
Stream #0:0 -> #0:0 (png (native) -> h264 (libx264))
Press [q] to stop, [?] for help
[libx264 @ 000001b3e55c5c80] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
[libx264 @ 000001b3e55c5c80] profile High 4:4:4 Predictive, level 3.1, 4:4:4, 8-bit
[libx264 @ 000001b3e55c5c80] 264 - core 158 r2984 3759fcb - H.264/MPEG-4 AVC codec - Copyleft 2003-2019 - 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=4 threads=6 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 'video.mp4':
Metadata:
encoder : Lavf58.29.100
Stream #0:0: Video: h264 (libx264) (avc1 / 0x31637661), yuv444p, 983x553, q=-1--1, 30 fps, 15360 tbn, 30 tbc
Metadata:
encoder : Lavc58.54.100 libx264
Side data:
cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
frame= 629 fps=400 q=-1.0 Lsize= 124kB time=00:00:20.86 bitrate= 48.8kbits/s dup=624 drop=0 speed=13.3x
video:116kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 7.050883%
[libx264 @ 000001b3e55c5c80] frame I:3 Avg QP:13.09 size: 20222
[libx264 @ 000001b3e55c5c80] frame P:158 Avg QP:10.80 size: 207
[libx264 @ 000001b3e55c5c80] frame B:468 Avg QP:13.75 size: 53
[libx264 @ 000001b3e55c5c80] consecutive B-frames: 0.8% 0.0% 0.0% 99.2%
[libx264 @ 000001b3e55c5c80] mb I I16..4: 23.0% 58.6% 18.4%
[libx264 @ 000001b3e55c5c80] mb P I16..4: 0.0% 0.0% 0.2% P16..4: 0.1% 0.0% 0.0% 0.0% 0.0% skip:99.7%
[libx264 @ 000001b3e55c5c80] 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:66.5% L1:33.5% BI: 0.0%
[libx264 @ 000001b3e55c5c80] 8x8 transform intra:54.0% inter:7.4%
[libx264 @ 000001b3e55c5c80] coded y,u,v intra: 15.3% 0.7% 0.7% inter: 0.0% 0.0% 0.0%
[libx264 @ 000001b3e55c5c80] i16 v,h,dc,p: 86% 14% 0% 0%
[libx264 @ 000001b3e55c5c80] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 65% 7% 28% 0% 0% 0% 0% 0% 0%
[libx264 @ 000001b3e55c5c80] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 50% 14% 14% 3% 4% 5% 4% 4% 3%
[libx264 @ 000001b3e55c5c80] Weighted P-Frames: Y:0.0% UV:0.0%
[libx264 @ 000001b3e55c5c80] ref P L0: 87.3% 6.3% 5.6% 0.8%
[libx264 @ 000001b3e55c5c80] ref B L0: 45.3% 54.3% 0.4%
[libx264 @ 000001b3e55c5c80] ref B L1: 99.6% 0.4%
[libx264 @ 000001b3e55c5c80] kb/s:45.07I can see it clearly saying
Duration 00:00:19.00
(as it should be) and then later saying that the final video is00:00:20.86
. How do I get these numbers to match ?