
Recherche avancée
Médias (1)
-
Richard Stallman et le logiciel libre
19 octobre 2011, par
Mis à jour : Mai 2013
Langue : français
Type : Texte
Autres articles (96)
-
Personnaliser en ajoutant son logo, sa bannière ou son image de fond
5 septembre 2013, parCertains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;
-
Ecrire une actualité
21 juin 2013, parPrésentez les changements dans votre MédiaSPIP ou les actualités de vos projets sur votre MédiaSPIP grâce à la rubrique actualités.
Dans le thème par défaut spipeo de MédiaSPIP, les actualités sont affichées en bas de la page principale sous les éditoriaux.
Vous pouvez personnaliser le formulaire de création d’une actualité.
Formulaire de création d’une actualité Dans le cas d’un document de type actualité, les champs proposés par défaut sont : Date de publication ( personnaliser la date de publication ) (...) -
Publier sur MédiaSpip
13 juin 2013Puis-je poster des contenus à partir d’une tablette Ipad ?
Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir
Sur d’autres sites (5726)
-
Buffer as input and output for fluent-ffmpeg
9 septembre 2022, par nickcoding2The below looks like a lot but a it's primarily just output.


I'm trying to take in a buffer using multer (being send the request containing the video (.mov format) through Alamofire from an iPhone) as the input before a fluent-ffmpeg conversion, then I want it to output as a buffer, and then send the result to S3. I think I'm close, but I don't think fluent-ffmpeg can have a buffer passed in. This is deployed on heroku using this buildpack : https://github.com/jonathanong/heroku-buildpack-ffmpeg-latest.... How do I pass it in correctly ?


const multer = require('multer')
const upload = multer({ limits: { fieldSize: 100_000_000 } })
app.post('/create', upload.single('video'), async function (request, response, next) {
 let data = request.body
 console.log(data) // prints [Object: null prototype] { param1: '' }
 let bufferStream = new stream.PassThrough();
 console.log(request.file.buffer) // prints '<buffer 00="00" 14="14" 66="66" 74="74" 79="79" 70="70" 71="71" 20="20" 08="08" 77="77" 69="69" 64="64" 65="65" 01="01" 0e="0e" 28="28" 55="55" 6d="6d" 61="61" 21="21" 03="03" 40="40" 68="68" 1c="1c" 4e="4e" ff="ff" 3c="3c" 59="59" 96="96" 7c="7c" 82="82" 17718642="17718642" more="more" bytes="bytes">'

 new ffmpeg({
 source: stream.Readable.from(request.file.buffer, { objectMode: false })
 })
 // .format('mp4')
 .on('error', function (err) {
 console.log(Error: ${err})
 })
 .on('progress', function (progress) {
 console.log("progress")
 })
 .on('end', function () {
 console.log('Formatting finished!');
 console.log("after");
 })
 .writeToStream(bufferStream);

 // Read the passthrough stream
 const buffers = [];
 bufferStream.on('data', function (buf) {
 buffers.push(buf);
 });
 bufferStream.on('end', function () {
 const outputBuffer = Buffer.concat(buffers);
 // use outputBuffer
 });
 console.log("Added.")
 response.send("Success")
});
</buffer>


The output is what you can see below (without .format('mp4')) :


2022-09-03T13:12:24.194384+00:00 heroku[router]: at=info method=POST path="/createBusiness" host=sparrow-testing.herokuapp.com request_id=2774a4ec-e21e-4c2f-8086-460a4cba7d1d fwd="74.71.236.5" dyno=web.1 connect=0ms service=13157ms status=200 bytes=762 protocol=https
2022-09-03T13:12:24.186257+00:00 app[web.1]: [Object: null prototype] { title: '' }
2022-09-03T13:12:24.187296+00:00 app[web.1]: <buffer 00="00" 14="14" 66="66" 74="74" 79="79" 70="70" 71="71" 20="20" 08="08" 77="77" 69="69" 64="64" 65="65" 01="01" 0e="0e" 28="28" 55="55" 6d="6d" 61="61" 21="21" 03="03" 40="40" 68="68" 1c="1c" 4e="4e" ff="ff" 3c="3c" 59="59" 96="96" 7c="7c" 82="82" 17718642="17718642" more="more" bytes="bytes">
2022-09-03T13:12:24.189891+00:00 app[web.1]: Added.
2022-09-03T13:12:24.891564+00:00 app[web.1]: Error: Error: ffmpeg exited with code 1: pipe:1: Invalid argument
2022-09-03T13:12:24.891570+00:00 app[web.1]: 
</buffer>


This output is what you see with .format('mp4') :


2022-09-03T13:17:07.380415+00:00 app[web.1]: [Object: null prototype] { title: '' }
2022-09-03T13:17:07.381335+00:00 app[web.1]: <buffer 00="00" 14="14" 66="66" 74="74" 79="79" 70="70" 71="71" 20="20" 08="08" 77="77" 69="69" 64="64" 65="65" 01="01" 0e="0e" 28="28" 55="55" 6d="6d" 61="61" 21="21" 03="03" 40="40" 68="68" 1c="1c" 4e="4e" ff="ff" 3c="3c" 59="59" 96="96" 7c="7c" 82="82" 17718642="17718642" more="more" bytes="bytes">
2022-09-03T13:17:07.384047+00:00 app[web.1]: Added.
2022-09-03T13:17:07.388457+00:00 heroku[router]: at=info method=POST path="/createBusiness" host=sparrow-testing.herokuapp.com request_id=84e69ead-09b1-4668-8fc8-b9fc9d5f229d fwd="74.71.236.5" dyno=web.1 connect=0ms service=13079ms status=200 bytes=762 protocol=https
2022-09-03T13:17:08.339746+00:00 app[web.1]: Error: Error: ffmpeg exited with code 1: Conversion failed!
2022-09-03T13:17:08.339783+00:00 app[web.1]: 
</buffer>


My uploadFile function works correctly because I use it elsewhere—normally, I just pass in the request.file.buffer, but here it needs to be a buffer after the ffmpeg conversion


EDIT :


At Heiko's suggestion, I tried changing the multer initialization to


multer({ limits: { fieldSize: 100_000_000 }, dest: "uploads/" })



and the source I was passing in to ffmpeg to


new ffmpeg({
 source: request.file.path // request.file.path seems to be a path of a Multer-generated file, I'd assume the one I'm sending to the server
})
.format('mp4')



but it still errored out to


Error: ffmpeg exited with code 1: Conversion failed!



when the request.file was :


{
 fieldname: 'video',
 originalname: 'video',
 encoding: '7bit',
 mimetype: 'clientMime',
 destination: 'uploads/',
 filename: '08d5d3bbdcf1ac29fb97800136a306e9',
 path: 'uploads/08d5d3bbdcf1ac29fb97800136a306e9',
 size: 1567480
}



-
Appium screen recording doesn't work on simulator
31 août 2022, par OksI'm running automation tests on simulator and trying to record screen but it crashes on line
driver.start_recording_screen()

I'm using Python for testing and Flutter for client side.

self.utils.driver.switch_to_native_context()
driver.start_recording_screen()



Appium logs :


[ffmpeg] ffmpeg version 5.1 Copyright (c) 2000-2022 the FFmpeg developers
[ffmpeg] built with Apple clang version 13.1.6 (clang-1316.0.21.2.5)
[ffmpeg] configuration: --prefix=/opt/homebrew/Cellar/ffmpeg/5.1 --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
[ffmpeg] 
[ffmpeg] libavutil 57. 28.100 / 57. 28.100
[ffmpeg] libavcodec 59. 37.100 / 59. 37.100
[ffmpeg] libavformat 59. 27.100 / 59. 27.100
[ffmpeg] libavdevice 59. 7.100 / 59. 7.100
[ffmpeg] libavfilter 8. 44.100 / 8. 44.100
[ffmpeg] libswscale 6. 7.100 / 6. 7.100
[ffmpeg] libswresample 4. 7.100 / 4. 7.100
[ffmpeg] 
[ffmpeg] libpostproc 56. 6.100 / 56. 6.100
[ffmpeg] 
[ffmpeg] [mjpeg @ 0x148605ab0] No JPEG data found in image
[ffmpeg] 
[ffmpeg] [mjpeg @ 0x14b104080] Could not find codec parameters for stream 0 (Video: mjpeg, none(bt470bg/unknown/unknown)): unspecified size
[ffmpeg] Consider increasing the value for the 'analyzeduration' (0) and 'probesize' (5000000) options
[ffmpeg] Input #0, mjpeg, from '********':
[ffmpeg] Duration: N/A, bitrate: N/A
[ffmpeg] Stream #0:0: Video: mjpeg, none(bt470bg/unknown/unknown), 25 tbr, 1200k tbn
[ffmpeg] 
[ffmpeg] Stream mapping:
[ffmpeg] Stream #0:0 -> #0:0 (mjpeg (native) -> mjpeg (native))
[ffmpeg] Press [q] to stop, [?] for help
[ffmpeg] [mjpeg @ 0x14b004620] No JPEG data found in image
[ffmpeg] Error while decoding stream #0:0: Invalid data found when processing input
[ffmpeg] Cannot determine format of input stream 0:0 after EOF
[ffmpeg] Error marking filters as finished
[ffmpeg] Conversion failed!
[ffmpeg] 
[XCUITest] Screen capture process did not start within 5000ms. Continuing anyway




Anyone knows how to fix it ?
Thanks !


-
av_interleaved_write_frame() : Cannot allocate memory, Error writing trailer of udp
30 août 2022, par Technical_Union7716I'm transcoding from udp input to mpegts udp output. After several hours ffmpeg used all ram memory. I don't know where the problem is.


Command :


ffmpeg -hwaccel vaapi -hwaccel_output_format vaapi -i "udp://239.100.1.5:1234?fifo_size=1000000&overrun_nonfatal=1" -map i:0x100 -map i:0x101 -vf 'scale_vaapi=w=720:h=576,hwdownload,format=nv12,fps=25' -c:v mpeg2video -b:v 5000k -minrate 5000k -maxrate 5000k -muxrate 7000k -pcr_period 40 -flags:v +ildct+ilme -top 0 -aspect 16:9 -c:a mp2 -b:a 192k -c:s copy -mpegts_service_id 1 -metadata service_name="Transcoded" -metadata service_provider="HD to SD" -f mpegts "udp://239.120.1.2:7006?pkt_size=1316&bitrate=12000000"



Logs :


Stream #0:0: Video: mpeg2video (Main), yuv420p(tv, bt709, bottom first), 720x576 [SAR 64:45 DAR 16:9], q=2-31, 5000 kb/s, 25 fps, 90k tbn2022-08-23 13:27:04,291



Metadata :


encoder : Lavc59.39.100 mpeg2video



Side data :


cpb: bitrate max/min/avg: 5000000/5000000/5000000 buffer size: 1835008 vbv_delay: N/A
Stream #0:1(und): Audio: mp2, 44100 Hz, stereo, s16, 192 kb/s



Metadata :


encoder : Lavc59.39.100 mp2
2022-08-24 04:08:47,884 av_interleaved_write_frame(): Cannot allocate memory41:02.67 bitrate=7000.0kbits/s speed=0.999x
2022-08-24 04:08:47,893 Last message repeated 1 times
2022-08-24 04:08:47,897 Error writing trailer of udp://239.120.1.2:7006?pkt_size=1316&bitrate=12000000: Cannot allocate memory
2022-08-24 04:08:47,898 frame=1321595 fps= 25 q=2.0 Lsize=45171938kB time=14:41:04.20 bitrate=7000.0kbits/s speed=0.999x
video:32265447kB audio:1239612kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 34.821243%
2022-08-24 04:08:51,469 Error closing file udp://239.120.1.2:7006?pkt_size=1316&bitrate=12000000: Cannot allocate memory
2022-08-24 04:08:51,750 Conversion failed!



Any ideas ?