
Recherche avancée
Autres articles (9)
-
Les formats acceptés
28 janvier 2010, parLes commandes suivantes permettent d’avoir des informations sur les formats et codecs gérés par l’installation local de ffmpeg :
ffmpeg -codecs ffmpeg -formats
Les format videos acceptés en entrée
Cette liste est non exhaustive, elle met en exergue les principaux formats utilisés : h264 : H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 m4v : raw MPEG-4 video format flv : Flash Video (FLV) / Sorenson Spark / Sorenson H.263 Theora wmv :
Les formats vidéos de sortie possibles
Dans un premier temps on (...) -
Ajouter notes et légendes aux images
7 février 2011, parPour pouvoir ajouter notes et légendes aux images, la première étape est d’installer le plugin "Légendes".
Une fois le plugin activé, vous pouvez le configurer dans l’espace de configuration afin de modifier les droits de création / modification et de suppression des notes. Par défaut seuls les administrateurs du site peuvent ajouter des notes aux images.
Modification lors de l’ajout d’un média
Lors de l’ajout d’un média de type "image" un nouveau bouton apparait au dessus de la prévisualisation (...) -
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 (...)
Sur d’autres sites (4019)
-
Reduce ffmpeg CPU usage with h265 [closed]
23 septembre 2024, par NeskelogthI have a video file to convert using
ffmpeg
on Ubuntu 22.04. The input uses the codech264
and I want to convert it toh265
(mainly for storage capacity reasons). The output offfmpeg -version
is

ffmpeg version N-113725-g37702e2066 Copyright (c) 2000-2024 the FFmpeg developers
built with gcc 11 (Ubuntu 11.4.0-1ubuntu1~22.04)
configuration: --enable-nonfree --enable-cuda-nvcc --enable-libnpp --extra-cflags=-I/usr/local/cuda/include --extra-ldflags=-L/usr/local/cuda/lib64 --disable-static --enable-shared --enable-libx265 --enable-gpl
libavutil 58. 39.100 / 58. 39.100
libavcodec 60. 39.101 / 60. 39.101
libavformat 60. 21.101 / 60. 21.101
libavdevice 60. 4.100 / 60. 4.100
libavfilter 9. 17.100 / 9. 17.100
libswscale 7. 6.100 / 7. 6.100
libswresample 4. 13.100 / 4. 13.100
libpostproc 57. 4.100 / 57. 4.100



I saw online that one of the options of
ffmpeg
is-threads
, but apparently it does not work, since usingffmpeg -i input.mp4 -c:v libx265 -c:a copy output.mp4
andffmpeg -i input.mp4 -c:v libx265 -c:a copy -threads 2 output.mp4
seem to be exactly the same in terms of CPU usage as shown byhtop
. Is there something wrong in my usage of-threads
?

-
FFmpeg Could not write header (incorrect codec parameters ?) : Invalid data found when processing input [closed]
14 juillet 2024, par cookieThe command


ffmpeg -v verbose -i in.mkv -c copy -y out.mkv



produces the following error :


ffmpeg version 7.0.1-full_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-libsnappy --enable-zlib --enable-librist --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-sdl2 --enable-libaribb24 --enable-libaribcaption --enable-libdav1d --enable-libdavs2 --enable-libuavs3d --enable-libxevd --enable-libzvbi --enable-librav1e --enable-libsvtav1 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxeve --enable-libxvid --enable-libaom --enable-libjxl --enable-libopenjpeg --enable-libvpx --enable-mediafoundation --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-libharfbuzz --enable-liblensfun --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-libshaderc --enable-vulkan --enable-libplacebo --enable-opencl --enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libcodec2 --enable-libilbc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint
 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
[hevc @ 00000133b5bb5040] Invalid default display window
Input #0, matroska,webm, from 'in.mkv':
 Metadata:
 encoder : libebml v1.3.0 + libmatroska v1.4.1
 creation_time : 2015-03-20T14:07:27.000000Z
 Duration: 00:24:11.75, start: 0.000000, bitrate: 5185 kb/s
 Chapters:
 Chapter #0:0: start 0.000000, end 48.047000
 Metadata:
 title : Chapter 01
 Chapter #0:1: start 48.047000, end 137.846000
 Metadata:
 title : Chapter 02
 Chapter #0:2: start 137.846000, end 535.868000
 Metadata:
 title : Chapter 03
 Chapter #0:3: start 535.868000, end 1330.871000
 Metadata:
 title : Chapter 04
 Chapter #0:4: start 1330.871000, end 1420.877000
 Metadata:
 title : Chapter 05
 Chapter #0:5: start 1420.877000, end 1451.741000
 Metadata:
 title : Chapter 06
 Chapter #0:6: start 1451.741000, end 1451.745000
 Metadata:
 title : Chapter 07
 Stream #0:0: Video: hevc (Main 10), 1 reference frame, yuv420p10le(tv, left), 1920x1080, SAR 1:1 DAR 16:9, 23.98 fps, 23.98 tbr, 1k tbn (default)
 Metadata:
 _STATISTICS_WRITING_APP: mkvmerge v7.0.0 ('Where We Going') 32bit built on Jun 9 2014 15:08:34
 _STATISTICS_WRITING_APP-eng: mkvmerge v7.0.0 ('Where We Going') 32bit built on Jun 9 2014 15:08:34
 _STATISTICS_WRITING_DATE_UTC: 2015-03-20 14:07:27
 _STATISTICS_WRITING_DATE_UTC-eng: 2015-03-20 14:07:27
 _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
 _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
 BPS : 3754023
 BPS-eng : 3754023
 DURATION : 00:24:11.742000000
 DURATION-eng : 00:24:11.742000000
 NUMBER_OF_FRAMES: 34807
 NUMBER_OF_FRAMES-eng: 34807
 NUMBER_OF_BYTES : 681234123
 NUMBER_OF_BYTES-eng: 681234123
 Stream #0:1(jpn): Audio: flac, 48000 Hz, stereo, s32 (24 bit) (default)
 Metadata:
 _STATISTICS_WRITING_APP: mkvmerge v7.0.0 ('Where We Going') 32bit built on Jun 9 2014 15:08:34
 _STATISTICS_WRITING_APP-eng: mkvmerge v7.0.0 ('Where We Going') 32bit built on Jun 9 2014 15:08:34
 _STATISTICS_WRITING_DATE_UTC: 2015-03-20 14:07:27
 _STATISTICS_WRITING_DATE_UTC-eng: 2015-03-20 14:07:27
 _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
 _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
 BPS : 1429414
 BPS-eng : 1429414
 DURATION : 00:24:11.745000000
 DURATION-eng : 00:24:11.745000000
 NUMBER_OF_FRAMES: 17013
 NUMBER_OF_FRAMES-eng: 17013
 NUMBER_OF_BYTES : 259393130
 NUMBER_OF_BYTES-eng: 259393130
[out#0/matroska @ 00000133b5bb5a40] No explicit maps, mapping streams automatically...
[vost#0:0/copy @ 00000133b5c2f580] Created video stream from input stream 0:0
[aost#0:1/copy @ 00000133b5bf1680] Created audio stream from input stream 0:1
Stream mapping:
 Stream #0:0 -> #0:0 (copy)
 Stream #0:1 -> #0:1 (copy)
[out#0/matroska @ 00000133b5bb5a40] Could not write header (incorrect codec parameters ?): Invalid data found when processing input
[AVIOContext @ 00000133b5c27940] Statistics: 291 bytes written, 0 seeks, 1 writeouts
[AVIOContext @ 00000133b5b97980] Statistics: 66432 bytes read, 2 seeks
Conversion failed!



Originally, I was trying to add a subtitle to
in.mkv
, but I keep encountering this error. When I add the subtitle to another MKV file, it works fine, so I believe the problem lies within.mkv
.

Troubleshooting


Output only video stream produce the same error :


ffmpeg -i in.mkv -map 0:v:0 -c copy out.mkv



Output only audio stream works fine :


ffmpeg -i in.mkv -map 0:a:0 -c copy out.mkv



Output as mp4 got no error, but the output file is unplayable :


ffmpeg -i in.mkv -c copy -strict -2 out.mp4



Re-encoding works fine :


ffmpeg -i in.mkv -c:v libx265 -c:a copy out.mkv



How can I fix the video stream in
in.mkv
so that I can add a subtitle stream and remux the file without re-encoding the video ? Any insights or suggestions on handling this error would be greatly appreciated.

-
How to add subtitles using FFmpeg-kit ?
17 novembre 2024, par Mohammed BekeleI'm running a Flutter app with Ffmpeg-kit package to burn a subtitle on a video. I have a words list with the timings and map that to generate an srt and ass file, but when executing this it didn't work.


Firstly, here is how I generated the Ass file.


Future<string> _createAssFile() async {
 String filePath = await getAssOutputFilePath();

 final file = File(filePath);
 final buffer = StringBuffer();

 // Write ASS headers
 buffer.writeln('[Script Info]');
 buffer.writeln('Title: Generated ASS');
 buffer.writeln('ScriptType: v4.00+');
 buffer.writeln('Collisions: Normal');
 buffer.writeln('PlayDepth: 0');
 buffer.writeln('Timer: 100,0000');
 buffer.writeln('[V4+ Styles]');
 buffer.writeln(
 'Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding');
 buffer.writeln(
 'Style: Default,Arial,40,&H00FFFFFF,&H000000FF,&H00000000,&H80000000,1,1,1,1,100,100,0,0,1,1,1,2,10,10,10,1');
 buffer.writeln('[Events]');
 buffer.writeln(
 'Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text');

 // Write events (subtitles)
 for (int i = 0; i < widget.words.length; i++) {
 final word = widget.words[i];
 final startTime = _formatAssTime(word['startTime'].toDouble());
 final endTime = _formatAssTime(word['endTime'].toDouble());
 final text = word['word'];

 buffer.writeln('Dialogue: 0,$startTime,$endTime,Default,,0,0,0,,$text');
 }

 await file.writeAsString(buffer.toString());
 return filePath;
 }

 String _formatAssTime(double seconds) {
 final int hours = seconds ~/ 3600;
 final int minutes = ((seconds % 3600) ~/ 60);
 final int secs = (seconds % 60).toInt();
 final int millis = ((seconds - secs) * 1000).toInt() % 1000;

 return '${hours.toString().padLeft(1, '0')}:${minutes.toString().padLeft(2, '0')}:${secs.toString().padLeft(2, '0')}.${(millis ~/ 10).toString().padLeft(2, '0')}';
 }
</string>


Then I used this command which was the official way of adding ass file to a video.


String newCmd = "-i $videoPath -vf ass=$assFilePath -c:a copy $_outputPath";



Yet when executing this command it did not work. However I changed it to this command


String newCmd = "-i $videoPath -i $assFilePath $_outputPath";



Well, that code works but the styling is not being applied. So I tried yet another command to filter and position the ass file.


String newCmd = "-i $videoPath -i $assFilePath -filter_complex \"[0:v][1:s]ass=\\an5:text='%{event.text}',scale=iw*0.8:ih*0.8,setdar=16/9[outv]\" -map [outv] -c:a copy $_outputPath";



This made it even worse, because the app crashed when I ran this. Also there is a log for this command before crashing


F/libc (19624): Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x19 in tid 21314 (pool-4-thread-7), pid 19624 (ple.caption_app)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
Build fingerprint: 'samsung/a15nsxx/a15:14/UP1A.231005.007/A155FXXU1AWKA:user/release-keys'
Revision: '5'
ABI: 'arm64'
Processor: '7'
Timestamp: 2024-07-10 19:27:40.812476860+0300
Process uptime: 1746s
Cmdline: com.example.caption_app
pid: 19624, tid: 21314, name: pool-4-thread-7 >>> com.example.caption_app <<<
uid: 10377
tagged_addr_ctrl: 0000000000000001 (PR_TAGGED_ADDR_ENABLE)
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0000000000000019
Cause: null pointer dereference
 x0 0000000000000001 x1 b400006ec98d8660 x2 0000000000000000 x3 0000000000000002
 x4 0000006f62d1ea12 x5 b400006e04f745ea x6 352f35372f64352f x7 7f7f7f7f7f7f7f7f
 x8 632ace36577a905e x9 632ace36577a905e x10 0000006e191378c0 x11 0000000000000001
 x12 0000000000000001 x13 0000000000000000 x14 0000000000000004 x15 0000000000000008
 x16 0000006e27ffa358 x17 0000006e27dbfb00 x18 0000006e00d48000 x19 0000006f62d1f0e8
 x20 0000006f62d24000 x21 0000006e27ffc5d0 x22 0000006e27ffc5f0 x23 0000000000000000
 x24 b400006f3f089248 x25 0000006f62d1f220 x26 b400006f3f057b20 x27 0000000000000002
 x28 0000000000000088 x29 0000006f62d1f100
 lr 0000006e27dbfb0c sp 0000006f62d1f0a0 pc 0000006e27dbfb10 pst 0000000060001000
1 total frames
backtrace:
 #00 pc 0000000000121b10 /data/app/~~oWqjrGA2indQhuEw6u_J2A==/com.example.caption_app-u2Ofk54FVtMc5D-i3SLC6g==/base.apk!libavfilter.so (offset 0x10a46000) (avfilter_inout_free+16) 
Lost connection to device.



I tried the normal command in my local machine on Windows, and this is what I used


ffmpeg -i F:\ffmpeg\video.avi -vf subtitles='F\:\\ffmpeg\\caption.srt':force_style='Fontsize=24' F:\ffmpeg\new.mp4



As you can see above when subtitles are used it had an extra backslashes for each path and a pre backslash after the partition letter. But I don't know if this does apply for android devices. How can I make sense of this ?