
Recherche avancée
Médias (9)
-
Stereo master soundtrack
17 octobre 2011, par
Mis à jour : Octobre 2011
Langue : English
Type : Audio
-
Elephants Dream - Cover of the soundtrack
17 octobre 2011, par
Mis à jour : Octobre 2011
Langue : English
Type : Image
-
#7 Ambience
16 octobre 2011, par
Mis à jour : Juin 2015
Langue : English
Type : Audio
-
#6 Teaser Music
16 octobre 2011, par
Mis à jour : Février 2013
Langue : English
Type : Audio
-
#5 End Title
16 octobre 2011, par
Mis à jour : Février 2013
Langue : English
Type : Audio
-
#3 The Safest Place
16 octobre 2011, par
Mis à jour : Février 2013
Langue : English
Type : Audio
Autres articles (43)
-
Supporting all media types
13 avril 2011, parUnlike most software and media-sharing platforms, MediaSPIP aims to manage as many different media types as possible. The following are just a few examples from an ever-expanding list of supported formats : images : png, gif, jpg, bmp and more audio : MP3, Ogg, Wav and more video : AVI, MP4, OGV, mpg, mov, wmv and more text, code and other data : OpenOffice, Microsoft Office (Word, PowerPoint, Excel), web (html, CSS), LaTeX, Google Earth and (...)
-
MediaSPIP v0.2
21 juin 2013, parMediaSPIP 0.2 is the first MediaSPIP stable release.
Its official release date is June 21, 2013 and is announced here.
The zip file provided here only contains the sources of MediaSPIP in its standalone version.
To get a working installation, you must manually install all-software dependencies on the server.
If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...) -
Installation en mode ferme
4 février 2011, parLe mode ferme permet d’héberger plusieurs sites de type MediaSPIP en n’installant qu’une seule fois son noyau fonctionnel.
C’est la méthode que nous utilisons sur cette même plateforme.
L’utilisation en mode ferme nécessite de connaïtre un peu le mécanisme de SPIP contrairement à la version standalone qui ne nécessite pas réellement de connaissances spécifique puisque l’espace privé habituel de SPIP n’est plus utilisé.
Dans un premier temps, vous devez avoir installé les mêmes fichiers que l’installation (...)
Sur d’autres sites (5358)
-
FFProbe as .NET Process gives error while command line does not
13 février 2024, par Ron OI've got a sample mp4 (a copy can be found here [sample_tagged.mp4, 562KB]) I've tagged with metadata using FFMpeg. Using a command line, if I issue a general command to view the metadata, I get everything.


> ffprobe.exe -hide_banner -loglevel error -show_entries 'format_tags' sample_tagged.mp4
[FORMAT]
TAG:minor_version=512
TAG:major_brand=isom
TAG:compatible_brands=isomiso2avc1mp41
TAG:IMDB=tt0012345
TAG:Title=Sample MP4
TAG:synopsis=Watch MP4 sample
TAG:Rating=3.30
TAG:TMDB=tv/12345
TAG:Subtitle=Samples for all!
TAG:year=2000
TAG:date=2000:01:01T00:00:00
TAG:ReleaseDate=2000:01:01
TAG:genre=Beach;Windy;Sample
TAG:encoder=Lavf60.3.100
[/FORMAT]



Also using the command line, if I limit it to a specific tag, I only get the specific tag as expected.


> ffprobe.exe -hide_banner -loglevel error -show_entries 'format_tags=TMDB' sample_tagged.mp4
[FORMAT]
TAG:TMDB=tv/12345
[/FORMAT]



I've set up a C# Process (in LINQPad) to mimic this behavior and return the results as a collection of key/value pairs.


async Task Main()
{
 var sample = await FFProbe.GetProperties("sample_tagged.mp4");
 sample.Dump("Sample");

 var targeted = await FFProbe.GetProperties("sample_tagged.mp4", "TMDB");
 targeted.Dump("Sample Targeted");
}

class FFProbe
{
 const string _exeName = @"ffprobe.exe";
 const string _arguments = @"-hide_banner -loglevel error -show_entries 'format_tags{0}' ""{1}""";

 static Encoding _Utf8NoBOM = new UTF8Encoding(false);

 public static async Task>> GetProperties(string filename, params string[] targetProperties)
 {
 using (var probe = new Process())
 {
 var propsRead = new List>();

 probe.EnableRaisingEvents = true;
 probe.OutputDataReceived += (object sender, DataReceivedEventArgs e) =>
 {
 e.Dump("Output");
 if (e?.Data is null)
 return;
 
 if (e.Data.StartsWith("TAG"))
 {
 var eq = e.Data.IndexOf('=');

 if (eq > 1)
 {
 var key = e.Data.Substring(4, eq - 4);
 var value = e.Data.Substring(eq + 1).Trim();

 if (!targetProperties.Any() || targetProperties.Any(tp => key.Equals(tp, StringComparison.InvariantCultureIgnoreCase)))
 {
 if (value.Contains("\\r\\n"))
 value = value.Replace("\\r\\n", Environment.NewLine);

 propsRead.Add(new KeyValuePair(key, value));
 }
 }
 }
 };
 probe.ErrorDataReceived += (object sender, DataReceivedEventArgs e) =>
 {
 e.Dump("Error");
 if (e?.Data is null)
 return;
 };

 probe.StartInfo.FileName = _exeName;
 
 var tagLimiter = string.Empty;
 
 if (targetProperties.Any())
 tagLimiter = $"={string.Join(',', targetProperties)}";
 
 var arguments = string.Format(_arguments, tagLimiter, filename);
 arguments.Dump();

 probe.StartInfo.Arguments = arguments;
 probe.StartInfo.UseShellExecute = false;
 probe.StartInfo.CreateNoWindow = true;
 probe.StartInfo.RedirectStandardOutput = true;
 probe.StartInfo.RedirectStandardError = true;
 probe.StartInfo.StandardOutputEncoding = _Utf8NoBOM;
 probe.StartInfo.StandardErrorEncoding = _Utf8NoBOM;

 probe.Start();
 probe.BeginOutputReadLine();
 probe.BeginErrorReadLine();
 
 await probe.WaitForExitAsync();

 return propsRead;
 }
 }
}



The output for the full sample dump matches the full metadata list. But when getting the targeted tag, I get two error responses.


No match for section 'format_tags=TMDB'
Failed to set value ''format_tags=TMDB'' for option 'show_entries': Invalid argument



From the output, the arguments sent into the process match those of the command line above :


-hide_banner -loglevel error -show_entries 'format_tags=TMDB' "sample_tagged.mp4"



I've copy/pasted the generated arguments to the command line call and it returns the value expected.


What am I missing and/or need correction in setting up the call to get the same results via a Process as the command line ?


-
Python pydub issue : Can't repoen a wav file after it as been reencoded by ffpeg [Silved]
28 avril 2024, par Trent TompkinsSolved by Michael Butscher. Updated code is now in the repo in the fixed branch. Thanks !


I have a python script that reads in all the *.wav files in a directory and saves them in a folder called output after it adjusts their volume.


lower.py :


import os
from pydub import AudioSegment as ass

# get the current working directory
current_working_directory = os.getcwd()
all_files = os.listdir();

 


while len(all_files) > 0:
 file = all_files.pop()
 song = ass.from_wav(file)
 song = song - 16
 song.export('out\\'+file)




https://github.com/tibberous/ChangeWavVolume/tree/fixed


The problem is (and this took me a LONG time to figure out), after the files are output once, if you try to read them again with AudioSegment ::from_wav(file), ffmpeg throws an error saying it can't decode the file. The output wav files play in Windows Media Player, and even have their audio adjusted, but I am guessing there somehow an error either in the file data itself or the file headers.


I put the code on github. Checkout the branch 'fixed'.


Btw, I just installed everything, so I should have the current versions of everything. I am using the Chocolatey package manager for Windows 10. Read README.txt (in progress) to see how I setup my dev environment.




Python 3.12.2
Chocolatey v2.2.2
C:\Users\moren>C:\ProgramData\chocolatey\bin\ffmpeg
ffmpeg version 7.0-essentials_build-www.gyan.dev Copyright (c) 2000-2024 the FFmpeg developers
 built with gcc 13.2.0 (Rev5, Built by MSYS2 project)
 configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-zlib --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-sdl2 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libaom --enable-libopenjpeg --enable-libvpx --enable-mediafoundation --enable-libass --enable-libfreetype --enable-libfribidi --enable-libharfbuzz --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-dxva2 --enable-d3d11va --enable-d3d12va --enable-ffnvcodec --enable-libvpl --enable-nvdec --enable-nvenc --enable-vaapi --enable-libgme --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libtheora --enable-libvo-amrwbenc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-librubberband
 libavutil 59. 8.100 / 59. 8.100
 libavcodec 61. 3.100 / 61. 3.100
 libavformat 61. 1.100 / 61. 1.100
 libavdevice 61. 1.100 / 61. 1.100
 libavfilter 10. 1.100 / 10. 1.100
 libswscale 8. 1.100 / 8. 1.100
 libswresample 5. 1.100 / 5. 1.100
 libpostproc 58. 1.100 / 58. 1.100
Universal media converter







I opened the wav files the program generated with Media Player, VLC Media Player and Audacity, thinking they might throw an error, but the only thing that can't seem to read the exported wav files is the script that created them !


-
Does there exist fonts that supprot all languages in the FFmpeg ?
20 novembre 2024, par phil lxI encountered an issue while using FFmpeg to composite a video. After analyzing the user's request, I discovered that the subtitles included Korean text, which caused the process to hang. To address this, I downloaded a Korean font and placed it in the server's fonts directory. This resolved the problem temporarily.


However, this solution is not comprehensive. Another user later requested a video that included traditional Chinese characters, which caused the process to hang again.


成吉思汗,传统蒙古文写作ᠴᠢᠩᠭᠢᠰ ᠬᠠᠭᠠᠨ,拉丁蒙古文写作Činggis Qaγan,西里尔蒙古文写作Чингис Хаан,他是蒙古族乞颜部人


I would like to know if there is a universal font style that supports all languages to prevent such issues in the future.


For reference, I currently use the Alibaba PuHuiTi font, which I downloaded from this link : https://www.zitijia.com/downloadpage?itemid=250417369808129081.


Here is the relevant portion of my code :


filters1 = []
 filters1.append(f"[0:v]crop={int(0.8*width)}:{int(0.8*height)}:{int(0.1*width)}:0,scale={width}:{height}[vout]")
 if add_sub == 1:
 filters1.append(f"[vout]subtitles={srt_path}:force_style='Fontname=Alibaba PuHuiTi,Fontsize={font_size},PrimaryColour={font_color},OutlineColour={font_border_color},MarginV={font_position*(288-font_size)}'[vout]")

 filter_complex1 = ';'.join(filters1)

 command = [
 'ffmpeg',
 '-y', # 覆盖输出文件
 '-threads', '12',
 # '-loglevel', 'error',
 
 # 第一个输入
 '-f', 'rawvideo', # 输入为原始视频数据
 '-vcodec', 'rawvideo',
 '-s', f'{width}x{height}', # 图像尺寸
 '-pix_fmt', 'rgb24', # 输入像素格式
 '-r', '30', # 帧率
 '-i', '-', # 输入从stdin

 # 复杂过滤器
 '-filter_complex', filter_complex1,

 # 映射输出流
 '-map', '[vout]', # 使用裁剪后的视频
 # '-map', '[audio_out]', # 使用混合后的音频

 # 输出选项
 '-vcodec', 'h264_nvenc', # 输出视频编码
 '-pix_fmt', 'yuv420p', # 输出像素格式
 # '-acodec', 'aac', # 输出音频编码
 '-strict', 'experimental', # 兼容性模式

 # 输出文件
 video_withoutspeed_path
 ]



As shown above. hey-hey-hey