
Recherche avancée
Médias (1)
-
Rennes Emotion Map 2010-11
19 octobre 2011, par
Mis à jour : Juillet 2013
Langue : français
Type : Texte
Autres articles (69)
-
La file d’attente de SPIPmotion
28 novembre 2010, parUne file d’attente stockée dans la base de donnée
Lors de son installation, SPIPmotion crée une nouvelle table dans la base de donnée intitulée spip_spipmotion_attentes.
Cette nouvelle table est constituée des champs suivants : id_spipmotion_attente, l’identifiant numérique unique de la tâche à traiter ; id_document, l’identifiant numérique du document original à encoder ; id_objet l’identifiant unique de l’objet auquel le document encodé devra être attaché automatiquement ; objet, le type d’objet auquel (...) -
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 (...)
Sur d’autres sites (3885)
-
Invalid argument error in writing video file using moviepy and ffmpeg
28 janvier 2024, par KresrebI have this code that used to work fine and now isn't. I have this error :


Traceback (most recent call last):
 File "D:\videos\tiktoks\faitsasavoir\bot\mre.py", line 18, in <module>
 clip_final.write_videofile(f"rendus_finaux/output.mp4", fps=24)
 File "", line 2, in write_videofile
 File "C:\Users\Brice\AppData\Local\Programs\Python\Python39\lib\site-packages\moviepy\decorators.py", line 54, in requires_duration
 return f(clip, *a, **k)
 File "", line 2, in write_videofile
 File "C:\Users\Brice\AppData\Local\Programs\Python\Python39\lib\site-packages\moviepy\decorators.py", line 135, in use_clip_fps_by_default
 return f(clip, *new_a, **new_kw)
 File "", line 2, in write_videofile
 File "C:\Users\Brice\AppData\Local\Programs\Python\Python39\lib\site-packages\moviepy\decorators.py", line 22, in convert_masks_to_RGB
 return f(clip, *a, **k)
 File "C:\Users\Brice\AppData\Local\Programs\Python\Python39\lib\site-packages\moviepy\video\VideoClip.py", line 300, in write_videofile
 ffmpeg_write_video(self, filename, fps, codec,
 File "C:\Users\Brice\AppData\Local\Programs\Python\Python39\lib\site-packages\moviepy\video\io\ffmpeg_writer.py", line 228, in ffmpeg_write_video
 writer.write_frame(frame)
 File "C:\Users\Brice\AppData\Local\Programs\Python\Python39\lib\site-packages\moviepy\video\io\ffmpeg_writer.py", line 180, in write_frame
 raise IOError(error)
OSError: [Errno 22] Invalid argument

MoviePy error: FFMPEG encountered the following error while writing file rendus_finaux/output.mp4:

 b'rendus_finaux/output.mp4: No such file or directory\r\n'
</module>


It tried different versions of
moviepy
, Python and reinstallingffmpeg
etc, but couldn't solve it. My main idea is that is a version problem, but i can't find out.

I recreated the error with this mre, it's just a code to make a video from multiple images. Thank you for your help.


from moviepy.editor import ImageClip, CompositeVideoClip, concatenate_videoclips
 
 DURATION_PER_IMAGE = 5
 
 images = ["D:/videos/image1.png","D:/videos/image1.jpg"]
 
 clips = []
 for image in images:
 #Main image
 clip = ImageClip(image).set_duration(DURATION_PER_IMAGE).resize(width=1080)
 clip = clip.resize(lambda t : 1+0.02*t)
 
 #Create clip composite
 clip_composite = CompositeVideoClip([clip.set_position("center")], size=(1080,1920))
 clips.append(clip_composite) # Add created clip to the list of clips
 
 clip_final = concatenate_videoclips(clips)
 clip_final.write_videofile(f"rendus_finaux/output.mp4", fps=24)



-
Unable to extract KLV data from .mpg file
2 novembre 2023, par Arjun ShastryI need to extract the klv data embedded in the following file :
https://samples.ffmpeg.org/MPEG2/mpegts-klv/Day%20Flight.mpg


Currently, I am doing it using ffmpeg and python.
The code works for .ts files like the example given below, but not the above mpg file. :
https://www.arcgis.com/home/item.html?id=55ec6f32d5e342fcbfba376ca2cc409a


I used the following python command, using subprocess, ffmpeg to extract klv data in a binary file and then using klvdata library to tranlate to a readable text file.


#Extract klv data and output as binary file
command=['ffmpeg', '-i', input_video, '-map', 'd','-codec','copy','-f', 'data','out.bin']
process=subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
stdout, stderr = process.communicate()

print(stdout)
print(stderr)

#Open text file to write json data
outjson=open("./outjson.txt","w")
print("Flag 1")

# Open the out.bin file for reading as binary
with open("./out.bin", "rb") as f:
 sample=[]
 cnt=0
 for packet in klvdata.streamparser.StreamParser(f):
 pack=[]
 metadata = packet.MetadataList()
 for i in (5,6,7,13,14,15,18,19,23,24,25,26,27,28,29,30,31,32,33):#Only extracting required data
 pack.append(metadata[i][-1])
 sample.append(pack)
 sampleLength=(len(sample))
 json.dump(sample,outjson,indent=4) # Convert the metadata to a string and write it to outtext.txt



When doing it for "Day Flight.mpg", the following error occurs :


58. 19.100 / 58. 19.100\r\n libavcodec 60. 26.100 / 60. 26.100\r\n libavformat 60. 11.100 / 60. 11.100\r\n libavdevice 60. 2.101 / 60. 2.101\r\n libavfilter 9. 11.100 / 9. 11.100\r\n libswscale 7. 3.100 / 7. 3.100\r\n libswresample 4. 11.100 / 4. 11.100\r\n libpostproc 57. 2.100 / 57. 2.100\r\n[mpegts @ 0000026bb99387c0] start time for stream 1 is not set in estimate_timings_from_pts\r\nInput #0, mpegts, from 'C:/Users/ashastry/Downloads/Day Flight.mpg':\r\n Duration: 00:03:14.88, start: 10.000000, bitrate: 4187 kb/s\r\n Program 1 \r\n Stream #0:0[0x1e1]: Video: h264 (Main) ([27][0][0][0] / 0x001B), yuv420p(progressive), 1280x720, 60 fps, 60 tbr, 90k tbn\r\n Stream #0:1[0x1f1]: Data: klv (KLVA / 0x41564C4B)\r\nOutput #0, data, to 'out.bin':\r\n Metadata:\r\n encoder : Lavf60.11.100\r\n Stream #0:0: Data: klv (KLVA / 0x41564C4B)\r\nStream mapping:\r\n Stream #0:1 -> #0:0 (copy)\r\nPress [q] to stop, [?] for help\r\nsize= 0kB time=00:00:00.00 bitrate=N/A speed=N/A \rsize= 0kB time=00:00:00.00 bitrate=N/A speed= 0x \rsize= 1kB time=00:00:00.00 bitrate=N/A speed= 0x \r[out#0/data @ 0000026bbb61b300] video:0kB audio:0kB subtitle:0kB other streams:1kB global headers:0kB muxing overhead: 0.000000%\r\nsize= 1kB time=00:00:00.00 bitrate=N/A speed= 0x \r\n"
Flag 1
Traceback (most recent call last):

 File C:\ProgramData\anaconda3\Lib\site-packages\spyder_kernels\py3compat.py:356 in compat_exec
 exec(code, globals, locals)

 File c:\users\ashastry\desktop\gis\javascript\extract.py:34
 metadata = packet.MetadataList()

AttributeError: 'UnknownElement' object has no attribute 'MetadataList'



-
How can I output every other TS packet (of an MPEG Transport Stream file), into one output file, using FFMPEG ?
9 août 2022, par mustardCutterI want to copy every other MPEG transport stream packet (PID# 00000000 [I'm guessing this is the first #], 00000002, 00000004...), from one MPEG transport stream file, into one output file, and the other ones (PID# 00000001, 00000003, 00000005...) into another output file. The output files don't have to be MPEG transport stream files ; they could be PCM, etc. Each packet could perhaps be referenced by stream id (PID #) or by Bytes, as each one is 188 Bytes, except perhaps the last packet.


I'd prefer to not use HLS or sequence muxer or concat if they require that I separate all the TS packets from one TS file into a folder first (as that would make many thousands of them), and I'd rather not deal with log or text or playlist files if I don't have to do so. I can't rename the PIDs, as their naming should remain what it is for a later step. I can't glob since it isn't an image file, though if I have to, perhaps I can read it in as if it's an image file sequence and glob so as to group the odd PID #s as an 'odds' input and glob to group the even PID #s as an 'evens' input. I don't think I can use '%08d' on the input as a stream id, because what I'm doing to each packet differs from what I'm doing with the previous packet, as to its destination output file. Perhaps there is some solution using some loop, complex function, counter, or perhaps preferably some 'if' statement, though I'd like it to be done in FFMPEG rather than by the OS using some terminal trickery. I don't know if you can use '|' (backslash pipe) to pipe within FFMPEG (or to execute multiple FFMPEG commands sequentially) independent of the OS/terminal trickery ; (I'm guessing '&&' doesn't work within FFMPEG commands independent of the OS/terminal).


In case it is helpful to know, the TS file is created from an MP4, so perhaps there is some way to transmux so that the packets are getting created in the end sequence needed and then renamed to what they would be if I had just transmuxed from MP4 to TS (though technically I'm transcoding audio [1 or 2 channels] from AAC to AC3 in the transmux step, but the video is h.264 and just copied into the TS file).