
Recherche avancée
Autres articles (30)
-
Librairies et binaires spécifiques au traitement vidéo et sonore
31 janvier 2010, parLes logiciels et librairies suivantes sont utilisées par SPIPmotion d’une manière ou d’une autre.
Binaires obligatoires FFMpeg : encodeur principal, permet de transcoder presque tous les types de fichiers vidéo et sonores dans les formats lisibles sur Internet. CF ce tutoriel pour son installation ; Oggz-tools : outils d’inspection de fichiers ogg ; Mediainfo : récupération d’informations depuis la plupart des formats vidéos et sonores ;
Binaires complémentaires et facultatifs flvtool2 : (...) -
Support audio et vidéo HTML5
10 avril 2011MediaSPIP utilise les balises HTML5 video et audio pour la lecture de documents multimedia en profitant des dernières innovations du W3C supportées par les navigateurs modernes.
Pour les navigateurs plus anciens, le lecteur flash Flowplayer est utilisé.
Le lecteur HTML5 utilisé a été spécifiquement créé pour MediaSPIP : il est complètement modifiable graphiquement pour correspondre à un thème choisi.
Ces technologies permettent de distribuer vidéo et son à la fois sur des ordinateurs conventionnels (...) -
De l’upload à la vidéo finale [version standalone]
31 janvier 2010, parLe chemin d’un document audio ou vidéo dans SPIPMotion est divisé en trois étapes distinctes.
Upload et récupération d’informations de la vidéo source
Dans un premier temps, il est nécessaire de créer un article SPIP et de lui joindre le document vidéo "source".
Au moment où ce document est joint à l’article, deux actions supplémentaires au comportement normal sont exécutées : La récupération des informations techniques des flux audio et video du fichier ; La génération d’une vignette : extraction d’une (...)
Sur d’autres sites (6502)
-
Unable find an ffmpeg binary for your Android system
22 juillet 2024, par Ayush ThakurWorking on a project where I need to use FFmpeg library in Kotlin to work on some audio files. However I'm unable to initialize the ffmpeg library itself.


this is the error I'm getting


Could not find an ffmpeg binary for your Android system. Did you forget calling: 'new AndroidFFMPEGLocator(this);' ?
2024-07-22 18:48:33.910 11800-11800 PipeDecoder com.example.sangeet E Tried to unpack a statically compiled ffmpeg binary for your architecture to: /data/user/0/com.example.sangeet/cache/ffmpeg
2024-07-22 18:48:33.923 11800-11800 AndroidRuntime com.example.sangeet E FATAL EXCEPTION: main (Ask Gemini)
 Process: com.example.sangeet, PID: 11800
 java.lang.Error: Decoding via a pipe will not work: Could not find an ffmpeg binary for your system



@HiltAndroidApp
class Sangeet: Application(){
 override fun onCreate() {
 super.onCreate()
 provideFirebaseApp(this)
 FFmpegKitConfig.setLogLevel(Level.AV_LOG_INFO)
 FFmpegKitConfig.enableLogCallback { Log.d("ffmpeg",it.message) }
 initializeFFmpegKit()
 }
 private fun initializeFFmpegKit() {
 // This method should be sufficient to ensure FFmpegKit is ready to use
 val ffmpegSession = FFmpegKit.execute("ffmpeg -version")
 if (ReturnCode.isSuccess(ffmpegSession.returnCode)) {
 Log.d("FFmpeg", "FFmpeg is ready to use.")
 } else {
 Log.e("FFmpeg", "Failed to initialize FFmpeg: ${ffmpegSession.failStackTrace}")
 initializeFFmpegBinary()
 }
 }
 private fun initializeFFmpegBinary() {
 val ffmpegBinaryPath = filesDir.absolutePath + "/ffmpeg"
 val binaryFile = File(ffmpegBinaryPath)
 if (!binaryFile.exists()) {
 Log.e("FFmpeg", "FFmpeg binary not found at $ffmpegBinaryPath")
 // Copy or download the FFmpeg binary to this path
 } else {
 Log.d("FFmpeg", "FFmpeg binary found at $ffmpegBinaryPath")
 }
 }
}



Tried using AndroidFFMPEGLocator(this) ; as suggested by the compiler in my code but unknown reference error is coming for the above line of code.


Also tried using FFmpegKit.init(this) function but init is also not being recognised by the compiler


-
FFMPEG in Node.js : Conversion Failed
11 juillet 2024, par cuneyttylerI have a small node.js web app. I use like this in a get request :


app.get('/api/voice/:gender/:voice/:pitch', function(req, res){
 if(req.params.pitch == "1" || req.params.pitch == "1.0") {
 const file = "./voices/" + req.params.gender.toLowerCase() + "/" + req.params.voice + ".mp3"
 res.download(file);
 return
 }

 const inputFile = "./voices/" + req.params.gender.toLowerCase() + "/" + req.params.voice + ".mp3"
 const output_file = "./Audio/Temp/" + req.params.voice + ".mp3"
 ffmpeg()
 .input(inputFile)
 .audioCodec('pcm_s16le') // Set the audio codec to PCM with 16-bit depth
 .audioFrequency(44100) // Set the sample rate
 .on('error', function(err) {
 console.error('Error while converting:', err);
 })
 .on('end', function() {
 // res.download(output_file)
 })
 .save(output_file);

 });



It gives
Conversion Failed
error :

[2024-07-11T18:11:22.880Z] Error while converting: Error: ffmpeg exited with code 1: Conversion failed!

 at ChildProcess.<anonymous> (d:\Dev\Anima\Client\node_modules\fluent-ffmpeg\lib\processor.js:180:22)
 at ChildProcess.emit (d:\Dev\Anima\Client\lib\events.js:519:28)
 at ChildProcess._handle.onexit (d:\Dev\Anima\Client\lib\internal\child_process.js:294:12)
 at Process.callbackTrampoline (node:internal/async_hooks:130:17) {stack: 'Error: ffmpeg exited with code 1: Conversion …Trampoline (node:internal/async_hooks:130:17)', message: 'ffmpeg exited with code 1: Conversion failed!
'}
</anonymous>


When I use same code in a node.js desktop(.exe) app, it successfully runs. When I use it in an express.js app, it fails. Error message is not clear. What is the issue ?


-
Muxing together a .ts file and a sub file causes playback issues in video and audio [closed]
3 mai 2024, par Meta83So I have a .ts file and a converted .dvb sub file (.SRT TO .DVB) that I want to mux togheter using FFMPEG. The mux is a success and the file plays fine in VLC or other modern divce.However I have an older divce (around 10 yeras old) where playback has issues, whenever a line of subs is displayd the picture and and audio gets corrupted and frezzes up and as sson there are no lins everything looks good again and so on. Note that subs are displayd correctly and they are not affected by the issue, only picture and audio is.


I have tried using diffrent command without any luck but here is the most basic command that should work :


ffmpeg -i <video file="file"> -i <dvb file="file"> -f mpegts -c:v copy -c:a copy -c:s copy -copyts <output file="file">
</output></dvb></video>


Here is the output I get frome FFMPEG :


ffmpeg version 7.0-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
[mpegts @ 0000029209341000] stream 0 : no PTS found at end of file, duration not set
Input #0, mpegts, from '\Tests\video.ts':
 Duration: 00:28:52.06, start: 0.980000, bitrate: 4992 kb/s
 Program 1
 Stream #0:0[0x1e1]: Video: h264 (Main) ([27][0][0][0] / 0x001B), yuv420p(tv, bt709, progressive), 1920x1080 [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 90k tbn
 Stream #0:1[0x1e2](swe): Audio: mp2 (mp3float) ([3][0][0][0] / 0x0003), 48000 Hz, stereo, fltp, 192 kb/s
Input #1, mpegts, from 'ENG.dvb':
 Duration: 00:28:09.88, start: 0.160000, bitrate: 8 kb/s
 Program 1
 Metadata:
 service_name : Service01
 service_provider: FFmpeg
 Stream #1:0[0x100](eng): Subtitle: dvb_subtitle (dvbsub) ([6][0][0][0] / 0x0006)
Stream mapping:
 Stream #0:0 -> #0:0 (copy)
 Stream #0:1 -> #0:1 (copy)
 Stream #1:0 -> #0:2 (copy)
Output #0, mpegts, to '\Tests\20735799_muxed.ts':
 Metadata:
 encoder : Lavf61.1.100
 Stream #0:0: Video: h264 (Main) ([27][0][0][0] / 0x001B), yuv420p(tv, bt709, progressive), 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 25 fps, 25 tbr, 90k tbn
 Stream #0:1(swe): Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, fltp, 192 kb/s
 Stream #0:2(swe): Subtitle: dvb_subtitle ([6][0][0][0] / 0x0006)
Press [q] to stop, [?] for help
[out#0/mpegts @ 000002920a155380] video:951379KiB audio:40595KiB subtitle:1389KiB other streams:0KiB global headers:0KiB muxing overhead: 3.385295%
size= 1026992KiB time=00:27:25.74 bitrate=5112.1kbits/s speed=75.3x



Can anyone help me out ? I'm I missing something that is needed for older divaces (divece in question is a Samsung SMT-S5140 STB).