
Recherche avancée
Autres articles (67)
-
Création définitive du canal
12 mars 2010, parLorsque votre demande est validée, vous pouvez alors procéder à la création proprement dite du canal. Chaque canal est un site à part entière placé sous votre responsabilité. Les administrateurs de la plateforme n’y ont aucun accès.
A la validation, vous recevez un email vous invitant donc à créer votre canal.
Pour ce faire il vous suffit de vous rendre à son adresse, dans notre exemple "http://votre_sous_domaine.mediaspip.net".
A ce moment là un mot de passe vous est demandé, il vous suffit d’y (...) -
HTML5 audio and video support
13 avril 2011, parMediaSPIP uses HTML5 video and audio tags to play multimedia files, taking advantage of the latest W3C innovations supported by modern browsers.
The MediaSPIP player used has been created specifically for MediaSPIP and can be easily adapted to fit in with a specific theme.
For older browsers the Flowplayer flash fallback is used.
MediaSPIP allows for media playback on major mobile platforms with the above (...) -
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 (9730)
-
ffmpeg use gpu to encode mpeg4 to ts/m3u8 [closed]
14 novembre 2024, par danielRICADOusing ffmpeg I want to trim and transcode a mpeg4 from ts / m3u8


std::string ffmpeg_command = "ffmpeg -hwaccel drm -i " + output_dir + input_file +
 " -ss 00:00:00.00 -t 31 -c:v " + codec + " -b:v " + std::to_string(bitrate) +
 " -vf scale=" + std::to_string(width) + "x" + std::to_string(height) +
 " -hls_time " + std::to_string(30) + " -hls_list_size 0 -hls_segment_filename " +
 ts_file_pattern + " -f hls " + m3u8_file;



I wanted to choose between codecs based on the system, if gpu is avaiable I'd like to opt to use it, right now I just check if the codec is available


bool is_h264_v4l2m2m_available() {
 std::string result = exec_command("ffmpeg -encoders 2>&1");
 return result.find("h264_v4l2m2m") != std::string::npos;
}



if it is a I wanted to move that process over to the gpu, not just use libx264. Here is the error log. Studying hard on the solution but wold super apperciate any expert advice.


other considerations are - runs in a docker container on a pi5, pibian on the host apline on in the container, container runs in privledged mode


2024-11-14 15:18:41 [INFO]: assigned codec: h264_v4l2m2m
2024-11-14 15:18:41 ffmpeg version 6.1.1 Copyright (c) 2000-2023 the FFmpeg developers
2024-11-14 15:18:41 built with gcc 13.2.1 (Alpine 13.2.1_git20240309) 20240309
2024-11-14 15:18:41 configuration: --prefix=/usr --disable-librtmp --disable-lzma --disable-static --disable-stripping --enable-avfilter --enable-gpl --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libdav1d --enable-libdrm --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libharfbuzz --enable-libmp3lame --enable-libopenmpt --enable-libopus --enable-libplacebo --enable-libpulse --enable-librav1e --enable-librist --enable-libsoxr --enable-libsrt --enable-libssh --enable-libtheora --enable-libv4l2 --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxml2 --enable-libxvid --enable-libzimg --enable-libzmq --enable-lto=auto --enable-lv2 --enable-openssl --enable-pic --enable-postproc --enable-pthreads --enable-shared --enable-vaapi --enable-vdpau --enable-version3 --enable-vulkan --optflags=-O3 --enable-libjxl --enable-libsvtav1 --enable-libvpl
2024-11-14 15:18:41 libavutil 58. 29.100 / 58. 29.100
2024-11-14 15:18:41 libavcodec 60. 31.102 / 60. 31.102
2024-11-14 15:18:41 libavformat 60. 16.100 / 60. 16.100
2024-11-14 15:18:41 libavdevice 60. 3.100 / 60. 3.100
2024-11-14 15:18:41 libavfilter 9. 12.100 / 9. 12.100
2024-11-14 15:18:41 libswscale 7. 5.100 / 7. 5.100
2024-11-14 15:18:41 libswresample 4. 12.100 / 4. 12.100
2024-11-14 15:18:41 libpostproc 57. 3.100 / 57. 3.100
2024-11-14 15:18:42 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/app/client-data/camera-output/7ea3cbef-4da0-11ed-bdcc-baf70a43c072/1731550687270.mp4':
2024-11-14 15:18:42 Metadata:
2024-11-14 15:18:42 major_brand : isom
2024-11-14 15:18:42 minor_version : 512
2024-11-14 15:18:42 compatible_brands: isomiso2avc1mp41
2024-11-14 15:18:42 encoder : Lavf60.16.100
2024-11-14 15:18:42 Duration: 00:00:31.33, start: 0.000000, bitrate: 678 kb/s
2024-11-14 15:18:42 Stream #0:0[0x1](und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(progressive), 1024x1024, 677 kb/s, 15 fps, 15 tbr, 15360 tbn (default)
2024-11-14 15:18:42 Metadata:
2024-11-14 15:18:42 handler_name : VideoHandler
2024-11-14 15:18:42 vendor_id : [0][0][0][0]
2024-11-14 15:18:42 [AVFormatContext @ 0x7f9254dcb4c0] Unable to choose an output format for '678000'; use a standard extension for the filename or specify the format manually.
2024-11-14 15:18:42 [out#0 @ 0x7f9254d70700] Error initializing the muxer for 678000: Invalid argument
2024-11-14 15:18:42 Error opening output file 678000.
2024-11-14 15:18:42 Error opening output files: Invalid argument
2024-11-14 15:18:42 [ERROR]: Failed to generate .ts file for: 1731550687270.mp4



-
Scrolling Effect of an Image using FFmpeg [closed]
5 juin, par neeebzzI want to create an mp4 video of 40 seconds where an image just floats from top to bottom and vice versa.


I am using the following ffmpeg command :


ffmpeg 
 -loop 1 
 -t 40 
 -i ./input.jpg 
 -filter_complex [0]scale=800:-1[s0];[s0]crop=h=450:w=800:x=0:y=(ih-450)*(3*pow(t/40.241\,2) - 2*pow(t/40\,3))[s1];[s1]scale=800:400[s2] 
 -map [s2] 
 -pix_fmt yuv420p 
 -preset medium 
 -r 30 
 -vcodec libx264 
 ./output.mp4 -y



The animation is working as expected however the motion is very jerky. How can I smooth it out ?


Ffmpeg version :


ffmpeg version 5.1.6-0+deb12u1 Copyright (c) 2000-2024 the FFmpeg developers



-
How can use ffmpeg in AWS Lambda to clip hls trasnsimision to .mp4
15 novembre 2024, par Bruno MunnéThe ffmpeg input is through the public url of the bucket, I want to save the output in a tmp.mp4 file and I want to upload this file to the bucket. Locally the ffmpeg command works perfectly, lasting no more than 3 seconds and the output file weighs less than 1MB


export const handler = async (event) => {
 try {
 const { m3u8, offset, duration, signedURL } = event;

 const clipKey = `clip_output.mp4`;
 const clipFilePath = path.join('/tmp', clipKey);

 execSync(`/opt/ffmpeglib/ffmpeg -i ${process.env.URL_CLOUDFLARE}/${m3u8} -ss ${offset} -t ${duration} -c copy -f mp4 ${clipFilePath}`)

 const fileContent = fs.readFileSync(clipFilePath);
 const resSign = await fetch(signedURL, {
 method: "PUT",
 headers: {
 "Content-Type": "application/octet-stream",
 },
 body: fileContent,
 });

 if (!resSign.ok) throw new Error(`Failed to upload file to S3: ${resSign.statusText}`);

 fs.unlinkSync(clipFilePath);

 return {
 statusCode: 200,
 body: JSON.stringify({
 message: 'Clip procesado y subido correctamente',
 clipKey: path.basename(clipFilePath)
 }),
 };
 } catch (error) {
 console.error("Error al procesar el clip:", error);
 return {
 statusCode: 500,
 body: JSON.stringify({ error: error.message }),
 };
 }
};



The error it shows me is the following


at genericNodeError (node:internal/errors:984:15)
 at wrappedFn (node:internal/errors:538:14)
 at checkExecSyncError (node:child_process:891:11)
 at execSync (node:child_process:963:15)
 at Runtime.handler (file:///var/task/index.js:16:3)
 at Runtime.handleOnceNonStreaming (file:///var/runtime/index.mjs:1173:29) {
 status: null,
 signal: 'SIGSEGV',
 output: [
 null,
 <buffer>,
 <buffer 66="66" 6d="6d" 70="70" 65="65" 67="67" 20="20" 76="76" 72="72" 73="73" 69="69" 6f="6f" 6e="6e" 4e="4e" 2d="2d" 37="37" 31="31" 30="30" 36="36" 34="34" 64="64" 35="35" 33="33" 63="63" 74="74" 61="61" 68="68" 3a="3a" 2f="2f" 1194="1194" more="more" bytes="bytes">
 ],
 pid: 13,
 stdout: <buffer>,
 stderr: <buffer 66="66" 6d="6d" 70="70" 65="65" 67="67" 20="20" 76="76" 72="72" 73="73" 69="69" 6f="6f" 6e="6e" 4e="4e" 2d="2d" 37="37" 31="31" 30="30" 36="36" 34="34" 64="64" 35="35" 33="33" 63="63" 74="74" 61="61" 68="68" 3a="3a" 2f="2f" 1194="1194" more="more" bytes="bytes">
}
ffmpeg version N-71064-gd5e603ddc0-static https://johnvansickle.com/ffmpeg/ Copyright (c) 2000-2024 the FFmpeg developers
built with gcc 8 (Debian 8.3.0-6)
configuration: --enable-gpl --enable-version3 --enable-static --disable-debug --disable-ffplay --disable-indev=sndio --disable-outdev=sndio --cc=gcc --enable-fontconfig --enable-frei0r --enable-gnutls --enable-gmp --enable-libgme --enable-gray --enable-libaom --enable-libfribidi --enable-libass --enable-libvmaf --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librubberband --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libvorbis --enable-libopus --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libdav1d --enable-libxvid --enable-libzvbi --enable-libzimg
libavutil 59. 27.100 / 59. 27.100
libavcodec 61. 9.100 / 61. 9.100
libavformat 61. 4.100 / 61. 4.100
libavdevice 61. 2.100 / 61. 2.100
libavfilter 10. 2.102 / 10. 2.102
libswscale 8. 2.100 / 8. 2.100
libswresample 5. 2.100 / 5. 2.100
libpostproc 58. 2.100 / 58. 2.100
END RequestId: 2fc8c51e-66c6-4c74-aa9c-fa10c11207a0
REPORT RequestId: 2fc8c51e-66c6-4c74-aa9c-fa10c11207a0 Duration: 164.82 ms Billed Duration: 165 ms Memory Size: 2048 MB Max Memory Used: 88 MB Init Duration: 185.19 ms
</buffer></buffer></buffer></buffer>


Help to resolve it please