
Recherche avancée
Autres articles (107)
-
Keeping control of your media in your hands
13 avril 2011, parThe vocabulary used on this site and around MediaSPIP in general, aims to avoid reference to Web 2.0 and the companies that profit from media-sharing.
While using MediaSPIP, you are invited to avoid using words like "Brand", "Cloud" and "Market".
MediaSPIP is designed to facilitate the sharing of creative media online, while allowing authors to retain complete control of their work.
MediaSPIP aims to be accessible to as many people as possible and development is based on expanding the (...) -
Automated installation script of MediaSPIP
25 avril 2011, parTo overcome the difficulties mainly due to the installation of server side software dependencies, an "all-in-one" installation script written in bash was created to facilitate this step on a server with a compatible Linux distribution.
You must have access to your server via SSH and a root account to use it, which will install the dependencies. Contact your provider if you do not have that.
The documentation of the use of this installation script is available here.
The code of this (...) -
Participer à sa documentation
10 avril 2011La documentation est un des travaux les plus importants et les plus contraignants lors de la réalisation d’un outil technique.
Tout apport extérieur à ce sujet est primordial : la critique de l’existant ; la participation à la rédaction d’articles orientés : utilisateur (administrateur de MediaSPIP ou simplement producteur de contenu) ; développeur ; la création de screencasts d’explication ; la traduction de la documentation dans une nouvelle langue ;
Pour ce faire, vous pouvez vous inscrire sur (...)
Sur d’autres sites (5405)
-
ffmpeg convert images to video and add audio in one command
9 novembre 2022, par user2108258I have two commands that I would like consilidate to a 1 liner.
Here are the two queries.


Here are the steps i need help


- 

- create a video based on a directory of jpegs




ffmpeg -f image2 -pix_fmt yuv420p -r 10 -s 1080x1920 -i 'Roach spray high-25263/%d.jpg' -vf "pad=ceil(iw/2)*2:ceil(ih/2)*2" -crf 25 -vcodec h264 'Roach spray high.mp4' -y



- 

- Merge audio with video from step 1




ffmpeg -stream_loop -1 -i 'Roach spray high.mp4' -i '/beats/2022/Roach spray high.mp3' -shortest -map 0:v:0 -map 1:a:0 '/videos/Roach spray high/Roach spray high.mp4' -y



Is there a way to combine these two steps into 1 ?


-
How to encode video with ffmpeg using AMD h264_amf
10 novembre 2022, par Ivy GrowingGiven :


- 

- Win10
- AMD CPU
- Video capturing card Avermedia Live Gamer Extreme 3
- ffmpeg versions and encoders :










>ffmpeg.exe -encoders | find "264"
ffmpeg version 5.1-full_build-www.gyan.dev Copyright (c) 2000-2022 the FFmpeg developers
// cut
 V....D libx264 libx264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (codec h264)
 V....D libx264rgb libx264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 RGB (codec h264)
 V....D h264_amf AMD AMF H.264 Encoder (codec h264)
 V....D h264_mf H264 via MediaFoundation (codec h264)
 V....D h264_nvenc NVIDIA NVENC H.264 encoder (codec h264)
 V..... h264_qsv H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (Intel Quick Sync Video acceleration) (codec h264)



Required to capture the video into H.264 encoded file using AMD's hardware accelerator in the CPU (AMF, or VCE).
Tried :
ffmpeg -y -f dshow -rtbufsize 2002000k -framerate 30 -i video="Live Gamer EXTREME 3" -t 00:00:10 -c:v h264_amf output.ts

Result :

Input #0, dshow, from 'video=Live Gamer EXTREME 3':
 Duration: N/A, start: 88548.973998, bitrate: N/A
 Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422(tv, bt709/bt709/unknown), 1280x720, 30 fps, 30 tbr, 10000k tbn
Stream mapping:
 Stream #0:0 -> #0:0 (rawvideo (native) -> h264 (h264_amf))
Press [q] to stop, [?] for help
[h264_amf @ 000002404328c700] DLL amfrt64.dll failed to open
Error initializing output stream 0:0 -- Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height
Conversion failed!



For some reason
ffmpeg
uses resolution1280x720
... When trying to specifiy the capture card resolution the following error appears :

>ffmpeg -y -f dshow -rtbufsize 2002000k -framerate 30 -video_size 3840x2160 -i video="Live Gamer EXTREME 3" -r 30 -t 00:00:10 -c:v h264_amf -f mpegts output.ts
//cut
[dshow @ 0000029d7c0f84c0] Could not set video options
video=Live Gamer EXTREME 3: I/O error



This is not unique error for Avermedia card. The same error appears with Dell web cam and for Magewell.


From this answer the extra flags to be used with
h264_amf
. I guessed the default values should be good enough. It seems something needs to be configured or initialized when using AMF/VCE.

The video encoding in software (without AMF) works just fine but loads the CPU. The goal is using dedicated hardware module and release computational power of the CPU for the other apps.


Command example will be appreciated.


-
Cannot execute ffmpeg command with Java
12 octobre 2022, par Peter TranI am trying to execute ffmpeg command to add overlay text on existing video


ffmpeg command on shell which is working fine :


ffmpeg -i "/Users/test/video.mp4" -vf "drawtext=text='Testing':fontcolor=white:fontsize=24:box=1:boxcolor=black@0.5:boxborderw=5:x=(w-text_w)/2:y=(h-text_h)/2" -codec:a copy "/Users/test/output.mp4"



Shell OUTPUT


fmpeg version 5.1.2 Copyright (c) 2000-2022 the FFmpeg developers



built with Apple clang version 14.0.0 (clang-1400.0.29.102)
configuration : —prefix=/opt/homebrew/Cellar/ffmpeg/5.1.2 —enable-shared —enable-pthreads —enable-version3 —cc=clang —host-cflags= —host-ldflags= —enable-ffplay —enable-gnutls —enable-gpl —enable-libaom —enable-libbluray —enable-libdav1d —enable-libmp3lame —enable-libopus —enable-librav1e —enable-librist —enable-librubberband —enable-libsnappy —enable-libsrt —enable-libtesseract —enable-libtheora —enable-libvidstab —enable-libvmaf —enable-libvorbis —enable-libvpx —enable-libwebp —enable-libx264 —enable-libx265 —enable-libxml2 —enable-libxvid —enable-lzma —enable-libfontconfig —enable-libfreetype —enable-frei0r —enable-libass —enable-libopencore-amrnb —enable-libopencore-amrwb —enable-libopenjpeg —enable-libspeex —enable-libsoxr —enable-libzmq —enable-libzimg —disable-libjack —disable-indev=jack —enable-videotoolbox —enable-neon
libavutil 57. 28.100 / 57. 28.100
libavcodec 59. 37.100 / 59. 37.100
libavformat 59. 27.100 / 59. 27.100
libavdevice 59. 7.100 / 59. 7.100
libavfilter 8. 44.100 / 8. 44.100
libswscale 6. 7.100 / 6. 7.100
libswresample 4. 7.100 / 4. 7.100
libpostproc 56. 6.100 / 56. 6.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/Users/test/video.mp4' :
...


but when running above command with Java, the output video is not generated


Java code


@Test
public void generateVideo2() throws IOException, IOException {
 String fileNameFullPath= "/Users/test/video.mp4";
 String[] videoCmd = new String[]
 {"/bin/sh", "-c", "/opt/homebrew/Cellar/ffmpeg/5.1.2/bin/ffmpeg",
 "-i",
 fileNameFullPath,
 "-vf",
 "drawtext=text='Testing':fontcolor=white:fontsize=24:box=1:boxcolor=black@0.5:boxborderw=5:x=(w-text_w)/2:y=(h-text_h)/2",
 "-codec:a copy",
 "/Users/test/output.mp4"
 };
 Process processDuration = new ProcessBuilder().command(videoCmd).start();
 StringBuilder strBuild = new StringBuilder();
 try (BufferedReader processOutputReader = new BufferedReader(new InputStreamReader(processDuration.getInputStream(), Charset.defaultCharset()));) {
 String line;
 while ((line = processOutputReader.readLine()) != null) {
 strBuild.append(line).append(System.lineSeparator());
 }
 int i = processDuration.waitFor();
 System.out.println("Process exitValue: "+i);
 } catch (InterruptedException e) {
 throw new RuntimeException(e);
 }
}



JAVA OUTPUT


Process exitValue : 1


Process finished with exit code 0


Does anyone have any idea ?