
Recherche avancée
Médias (91)
-
MediaSPIP Simple : futur thème graphique par défaut ?
26 septembre 2013, par
Mis à jour : Octobre 2013
Langue : français
Type : Video
-
avec chosen
13 septembre 2013, par
Mis à jour : Septembre 2013
Langue : français
Type : Image
-
sans chosen
13 septembre 2013, par
Mis à jour : Septembre 2013
Langue : français
Type : Image
-
config chosen
13 septembre 2013, par
Mis à jour : Septembre 2013
Langue : français
Type : Image
-
SPIP - plugins - embed code - Exemple
2 septembre 2013, par
Mis à jour : Septembre 2013
Langue : français
Type : Image
-
GetID3 - Bloc informations de fichiers
9 avril 2013, par
Mis à jour : Mai 2013
Langue : français
Type : Image
Autres articles (105)
-
MediaSPIP 0.1 Beta version
25 avril 2011, parMediaSPIP 0.1 beta is the first version of MediaSPIP proclaimed as "usable".
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 (...) -
ANNEXE : Les plugins utilisés spécifiquement pour la ferme
5 mars 2010, parLe site central/maître de la ferme a besoin d’utiliser plusieurs plugins supplémentaires vis à vis des canaux pour son bon fonctionnement. le plugin Gestion de la mutualisation ; le plugin inscription3 pour gérer les inscriptions et les demandes de création d’instance de mutualisation dès l’inscription des utilisateurs ; le plugin verifier qui fournit une API de vérification des champs (utilisé par inscription3) ; le plugin champs extras v2 nécessité par inscription3 (...)
-
Multilang : améliorer l’interface pour les blocs multilingues
18 février 2011, parMultilang est un plugin supplémentaire qui n’est pas activé par défaut lors de l’initialisation de MediaSPIP.
Après son activation, une préconfiguration est mise en place automatiquement par MediaSPIP init permettant à la nouvelle fonctionnalité d’être automatiquement opérationnelle. Il n’est donc pas obligatoire de passer par une étape de configuration pour cela.
Sur d’autres sites (11656)
-
Building C library (FFmpeg) with Android NDK r17 : undefined reference to '__mulodi4'
14 mai 2018, par fpsulli3My problem happens to be with FFmpeg but I suspect that this would happen with almost any C library.
Problem Description
My app uses FFmpeg that is compiled with NDK r10e. I am trying to update everything to NDK r17, while also switching to clang, since Google prefers us to use that over gcc.
My first step is to just build FFmpeg.
To that end, I have used the
make_standalone_toolchain.py
script to create a stand-alone toolchain for the x86 architecture, like so :make_standalone_toolchain.py --arch x86 --api 21 --install-dir ~/Development/ndk-toolchains/x86
Then I configure the FFmpeg build as follows :
TOOLCHAIN_DIR=~/Development/ndk-toolchains/x86
./configure \
--prefix=$(pwd)/android/x86 \
--cross-prefix=$TOOLCHAIN_DIR/bin/i686-linux-android- \
--target-os=android \
--arch=x86 \
--enable-cross-compile \
--disable-asm \
--toolchain=clang-usan \
--disable-stripping \
--extra-cflags="-m32" \
--sysroot=$TOOLCHAIN_DIR/sysroot/And then I build it as follows :
make clean
make -j4
make installEverything seems to compile fine, but I get several linker errors that all say the same thing :
undefined reference to ’__mulodi4’
Solutions I’ve tried
1. Linking against libclang_rt.builtins*
I found a few places around the Web which suggested that this is caused by the fact that libgcc doesn’t provide
__mulodi4
. A github user named sitsofe was nice enough to post a work-around here. However, I am sure where to find thislibclang_rt.builtins-i686.a
library. Here is what I was able to find in my standalone toolchain directory :./lib64/clang/6.0.2/lib/linux/libclang_rt.builtins-x86_64.a
./lib64/clang/6.0.2/lib/linux/libclang_rt.builtins-i386.a
./lib64/clang/6.0.2/lib/linux/libclang_rt.builtins-aarch64-android.a
./lib64/clang/6.0.2/lib/linux/libclang_rt.builtins-mips64-android.a
./lib64/clang/6.0.2/lib/linux/libclang_rt.builtins-x86_64-android.a
./lib64/clang/6.0.2/lib/linux/libclang_rt.builtins-i686-android.a
./lib64/clang/6.0.2/lib/linux/libclang_rt.builtins-arm-android.a
./lib64/clang/6.0.2/lib/linux/libclang_rt.builtins-mips-android.aThe
libclang_rt.builtins-i686-android.a
library looks close but (I think) no cigar. When I try to link to it, I get the same error :undefined reference to ’__mulodi4’
Here is my new FFmpeg build config command :
./configure \
--prefix=$(pwd)/android/x86 \
--cross-prefix=$TOOLCHAIN_DIR/bin/i686-linux-android- \
--target-os=android \
--arch=x86 \
--enable-cross-compile \
--disable-asm \
--toolchain=clang-usan \
--disable-stripping \
--extra-cflags="-m32" \
--extra-ldflags="-L${TOOLCHAIN_DIR}/lib64/clang/6.0.2/lib/linux/libclang_rt.builtins-i686-android.a" \
--sysroot=$TOOLCHAIN_DIR/sysroot/I checked with
-v
to make sure that this line was added to the linker flags, and it was. However, I have no idea if this library should even be expected to work, let alone whether I’m adding it to the linker flags correctly. In any case, what I’m doing here doesn’t work.2. Switching to a different sanitizer
Instead of using the undefined sanitizer, I tried switching to the address sanitizer. This is (frankly) a total stab in the dark, based on a vague mention of asan being available in r17 at Google I/O this week.
In this case, FFmpeg builds just fine !
However, when I try to pull FFmpeg into my test project (a simple AAR w/ C++ support, that just has one jni method that calls
av_gettime()
, I get a ton of linker errors :Error:error : undefined reference to ’__asan_option_detect_stack_use_after_return’
Error:error : undefined reference to ’__asan_stack_malloc_0’
Error:error : undefined reference to ’__asan_report_load4’
Error:error : undefined reference to ’__asan_report_load4’
Error:error : undefined reference to ’__asan_shadow_memory_dynamic_address’
Error:error : undefined reference to ’__asan_option_detect_stack_use_after_return’
Error:error : undefined reference to ’__asan_stack_malloc_0’
Error:error : undefined reference to ’__asan_report_load4’
Error:error : undefined reference to ’__asan_report_load4’
Error:error : undefined reference to ’__asan_shadow_memory_dynamic_address’
Error:error : undefined reference to ’__asan_option_detect_stack_use_after_return’
Error:error : undefined reference to ’__asan_stack_malloc_0’
Error:error : undefined reference to ’__asan_report_store4’
Error:error : undefined reference to ’__asan_report_store4’
Error:error : undefined reference to ’__asan_init’
Error:error : undefined reference to ’__asan_version_mismatch_check_v9’So it seems to find the FFmpeg library just fine, indicating that that part of my CMake file is correct, but it can’t locate any of these asan references.
This seems to be a common problem that people are running into, but I can’t see to find a work-around that actually works for me.
-
ffmpeg is failing to convert mov files from iPhone 4
11 octobre 2014, par skatI’m having issue with converting mov files from iPhone 4.
Running this command :
I, [2014-09-15T03:48:33.245231 #9676] INFO -- : Running transcoding...
ffmpeg -y -i /Users/lun/client/bookagoo/public/uploads/5405e9b0486f75a36c100000/video/1410727644xqxzdoxf-IMG_0040_1_.MOV -ss 5 -vframes 1 -f image2 /Users/lun/client/bookagoo/public/uploads/5405e9b0486f75a36c100000/video/1410727644xqxzdoxf-IMG_0040_1_-edited.jpg
E, [2014-09-15T03:48:33.321367 #9676] ERROR -- : Failed encoding...
ffmpeg -y -i /Users/lun/client/bookagoo/public/uploads/5405e9b0486f75a36c100000/video /1410727644xqxzdoxf-IMG_0040_1_.MOV -ss 5 -vframes 1 -f image2 /Users/lun/client/bookagoo/public/uploads/5405e9b0486f75a36c100000/video/1410727644xqxzdoxf-IMG_0040_1_-edited.jpgMy ffmpeg gives me errors like this :
FFMPEG::Error: Failed encoding.Errors: no output file created. Full output: ffmpeg version 2.3.1 Copyright (c) 2000-2014 the FFmpeg developers
built on Aug 20 2014 02:23:29 with Apple LLVM version 5.1 (clang-503.0.40) (based on LLVM 3.4svn)
configuration: --prefix=/usr/local/Cellar/ffmpeg/2.3.1 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-nonfree --enable-hardcoded-tables --enable-avresample --enable-vda --cc=clang --host-cflags= --host-ldflags= --enable-libx264 --enable-libfaac --enable-libmp3lame --enable-libxvid --enable-libtheora --enable-libvorbis --enable-libvpx
libavutil 52. 92.100 / 52. 92.100
libavcodec 55. 69.100 / 55. 69.100
libavformat 55. 48.100 / 55. 48.100
libavdevice 55. 13.102 / 55. 13.102
libavfilter 4. 11.100 / 4. 11.100
libavresample 1. 3. 0 / 1. 3. 0
libswscale 2. 6.100 / 2. 6.100
libswresample 0. 19.100 / 0. 19.100
libpostproc 52. 3.100 / 52. 3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/Users/lun/client/bookagoo/public/uploads/5405e9b0486f75a36c100000/video/1410641311nyv99k1j-IMG_0040_1_.MOV':
Metadata:
major_brand : qt
minor_version : 0
compatible_brands: qt
creation_time : 2014-07-20 09:47:08
model : iPhone 4
model-rus : iPhone 4
encoder : 7.0.4
encoder-rus : 7.0.4
date : 2014-07-20T13:47:08+0400
date-rus : 2014-07-20T13:47:08+0400
make : Apple
make-rus : Apple
Duration: 00:00:01.84, start: 0.000000, bitrate: 827 kb/s
Stream #0:0(und): Video: h264 (Baseline) (avc1 / 0x31637661), yuv420p(tv, smpte170m), 480x360, 742 kb/s, 23.98 fps, 23.98 tbr, 600 tbn, 1200 tbc (default)
Metadata:
rotate : 90
creation_time : 2014-07-20 09:47:08
handler_name : Core Media Data Handler
encoder : H.264
Side data:
displaymatrix: rotation of -90.00 degrees
Stream #0:1(und): Audio: aac (mp4a / 0x6134706D), 44100 Hz, mono, fltp, 63 kb/s (default)
Metadata:
creation_time : 2014-07-20 09:47:08
handler_name : Core Media Data Handler
[swscaler @ 0x7fe1e9800600] deprecated pixel format used, make sure you did set range correctly
Output #0, image2, to '/Users/lun/client/bookagoo/public/uploads/5405e9b0486f75a36c100000/video/1410641311nyv99k1j-IMG_0040_1_-edited.jpg':
Metadata:
major_brand : qt
minor_version : 0
compatible_brands: qt
make-rus : Apple
model : iPhone 4
model-rus : iPhone 4
make : Apple
encoder : Lavf55.48.100
date : 2014-07-20T13:47:08+0400
date-rus : 2014-07-20T13:47:08+0400
Stream #0:0(und): Video: mjpeg, yuvj420p, 480x360, q=2-31, 200 kb/s, 23.98 fps, 23.98 tbn, 23.98 tbc (default)
Metadata:
rotate : 90
creation_time : 2014-07-20 09:47:08
handler_name : Core Media Data Handler
encoder : Lavc55.69.100 mjpeg
Stream mapping:
Stream #0:0 -> #0:0 (h264 (native) -> mjpeg (native))
Press [q] to stop, [?] for help
frame= 0 fps=0.0 q=0.0 Lsize=N/A time=00:00:00.00 bitrate=N/A
video:0kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
Output file is empty, nothing was encoded (check -ss / -t / -frames parameters if used)It’s only happening for mov files. There are couple of tricky places it looks like it’s trying to take screenshot from a video.
Maybe anyone witnessed anything similar and can give me a tip ?
-
Multiple Dialogue lines of an ASS subtitle file is displayed at the same time on the video file
14 janvier 2024, par Furkan GözükaraI am trying to code an ASS subtitle burner.


Converting given SRT file into ASS subtitle


Let me show examples


Below is given SRT file - generated with Whisper


1
00:00:00,000 --> 00:00:00,080
<u>American</u> XL Bully Dog

2
00:00:00,080 --> 00:00:00,640
American <u>XL</u> Bully Dog

3
00:00:00,640 --> 00:00:01,140
American XL <u>Bully</u> Dog

4
00:00:01,140 --> 00:00:01,280
American XL Bully <u>Dog</u>

5
00:00:01,280 --> 00:00:01,520
<u>is</u> a danger to

6
00:00:01,520 --> 00:00:01,640
is <u>a</u> danger to

7
00:00:01,640 --> 00:00:01,800
is a <u>danger</u> to

8
00:00:01,800 --> 00:00:02,220
is a danger <u>to</u>

9
00:00:02,220 --> 00:00:02,380
<u>our</u> communities, particularly our

10
00:00:02,380 --> 00:00:02,680
our <u>communities,</u> particularly our

11
00:00:02,680 --> 00:00:03,360
our communities, particularly our

12
00:00:03,360 --> 00:00:03,580
our communities, <u>particularly</u> our

13
00:00:03,580 --> 00:00:04,060
our communities, particularly <u>our</u>

14
00:00:04,060 --> 00:00:04,280
<u>children.</u>



Then this above SRT file is converted into the below ASS subtitle


[Script Info]
ScriptType: v4.00+
PlayResX: 384
PlayResY: 288

[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,16,&H00FFFFFF,&H0000FF00,&H00000000,&H00000000,0,0,0,0,100,100,0,0,1,1,0,2,10,10,10,1

[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,00:00:00.000,00:00:00.080,Default,,0,0,0,,{\c&H00FF00&}American{\c&HFFFFFF&} XL Bully Dog
Dialogue: 0,00:00:00.080,00:00:00.640,Default,,0,0,0,,American {\c&H00FF00&}XL{\c&HFFFFFF&} Bully Dog
Dialogue: 0,00:00:00.640,00:00:01.140,Default,,0,0,0,,American XL {\c&H00FF00&}Bully{\c&HFFFFFF&} Dog
Dialogue: 0,00:00:01.140,00:00:01.280,Default,,0,0,0,,American XL Bully {\c&H00FF00&}Dog{\c&HFFFFFF&}
Dialogue: 0,00:00:01.280,00:00:01.520,Default,,0,0,0,,{\c&H00FF00&}is{\c&HFFFFFF&} a danger to
Dialogue: 0,00:00:01.520,00:00:01.640,Default,,0,0,0,,is {\c&H00FF00&}a{\c&HFFFFFF&} danger to
Dialogue: 0,00:00:01.640,00:00:01.800,Default,,0,0,0,,is a {\c&H00FF00&}danger{\c&HFFFFFF&} to
Dialogue: 0,00:00:01.800,00:00:02.220,Default,,0,0,0,,is a danger {\c&H00FF00&}to{\c&HFFFFFF&}
Dialogue: 0,00:00:02.220,00:00:02.380,Default,,0,0,0,,{\c&H00FF00&}our{\c&HFFFFFF&} communities, particularly our
Dialogue: 0,00:00:02.380,00:00:02.680,Default,,0,0,0,,our {\c&H00FF00&}communities,{\c&HFFFFFF&} particularly our
Dialogue: 0,00:00:02.680,00:00:03.360,Default,,0,0,0,,our communities, particularly our
Dialogue: 0,00:00:03.360,00:00:03.580,Default,,0,0,0,,our communities, {\c&H00FF00&}particularly{\c&HFFFFFF&} our
Dialogue: 0,00:00:03.580,00:00:04.060,Default,,0,0,0,,our communities, particularly {\c&H00FF00&}our{\c&HFFFFFF&}
Dialogue: 0,00:00:04.060,00:00:04.280,Default,,0,0,0,,{\c&H00FF00&}children.{\c&HFFFFFF&}



Both when playing the subtitle in any video player or burning into video via FFMPEG, what happens is, multiple Dialogue lines are being displayed at the same time on the screen.


I am doing a lot of research regarding this but still couldn't find out the issue.


Here screenshot of what I mean. So how can I fix this issue ? What is wrong with my ASS file format ?




Here below the functio that I am use to generate that ASS format


def convert_srt_to_ass(srt_content):
 # ASS header
 ass_header = (
 "[Script Info]\n"
 "ScriptType: v4.00+\n"
 "PlayResX: 384\n"
 "PlayResY: 288\n\n"
 "[V4+ Styles]\n"
 "Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding\n"
 "Style: Default,Arial,16,&H00FFFFFF,&H0000FF00,&H00000000,&H00000000,0,0,0,0,100,100,0,0,1,1,0,2,10,10,10,1\n\n"
 "[Events]\n"
 "Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text\n"
 )

 ass_content = ass_header
 # Adjust regex to properly capture subtitle number, start time, end time, and text
 matches = list(re.finditer(r'(\d+)\n(\d{2}:\d{2}:\d{2},\d{3}) --> (\d{2}:\d{2}:\d{2},\d{3})\n(.+?)\n\n', srt_content, re.DOTALL))

 prev_end = None
 
 for match in matches:
 start, end, text = match.group(2), match.group(3), match.group(4)
 start = start.replace(',', '.')
 end = end.replace(',', '.')

 # Calculate the correct start and end times to ensure no overlap
 if prev_end and start <= prev_end:
 # Adjust the previous end time to be a bit before the current start time
 prev_end_time = datetime.strptime(prev_end, '%H:%M:%S.%f')
 adjusted_end_time = prev_end_time - timedelta(milliseconds=100) # Adjust by 100 milliseconds
 prev_end = adjusted_end_time.strftime('%H:%M:%S.%f')[:-3] # Truncate to 3 decimal places

 ass_content = ass_content.rstrip()
 ass_content = re.sub(r'(\d{2}:\d{2}:\d{2}\.\d{3}),Default,,$', f'{prev_end},Default,,', ass_content, 1)
 ass_content += '\n'

 prev_end = end

 # Formatting the text and adding it to the content
 text = text.replace('<u>', '{\\c&H00FF00&}').replace('</u>', '{\\c&HFFFFFF&}')
 text = text.replace('\n', '\\N') # Convert newlines within text for ASS format
 ass_content += f"Dialogue: 0,{start},{end},Default,,0,0,0,,{text}\n"

 
 # Conversion of text and other formatting remains the same

 return ass_content