
Recherche avancée
Autres articles (95)
-
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 -
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 (...) -
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 (...)
Sur d’autres sites (14228)
-
electron ffmpeg mas build "Illegal instruction : 4"
8 mars 2021, par MartinI am trying to release an electron app on the Mac Apple Store (mas), my electron app uses ffmpeg to render videos. In order to release my app on the mac apple store, It needs to be sandboxed, and by default ffmpeg makes calls to external libraries so I need to statically build ffmpeg and package it with my app. My code is on the 'mas-ffmpeg-fix' branch : https://github.com/MartinBarker/digify/tree/mas-ffmpeg-fix


My static ffmpeg build works before I build my app, but after running
electron-builder build --mac
, the ffmpeg executable now fails withIllegal instruction: 4


This is the full timeline of building/packaging/submitting my app to the mac apple store and where the error first appears :


- 

-
In Digify repo :


-
clone, configure, and build static ffpmeg : “sudo rm -rf ffmpeg-mac/ && npm run download-ffmpeg”


-
download-ffmpeg command is inside package.json and runs this :

git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg-mac && cd ffmpeg-mac && ./configure pkg_config='pkg-config --static' --pkg-config-flags='--static' --libdir=/usr/local/lib --extra-version=ntd_20150128 --disable-shared --disable-lzma --enable-gpl --enable-pthreads --enable-nonfree --enable-libass --enable-libfdk-aac --enable-libmp3lame --enable-libx264 --enable-static --enable-filters --enable-runtime-cpudetect && make && cd ..


-
Check if any dylibb files in the static ffmpeg build with command : “otool -L ffmpeg-mac/ffmpeg | grep /usr/local”


-
If there are any, move them to folder in desktop, run ‘otool’ again to ensure there are no dynamic libraries, rebuild static ffmpeg.


-
there will now be a folder 'ffmpeg-mac' which contains static versions of ffmpeg and ffprobe
















Using ffmpeg with electron UI : works
Using Ffmpeg with command-line command :

/Users/martinbarker/Documents/projects/digify-new/ffmpeg-mac/ffmpeg -h

Works

- 

- Build mac mass app with “npm run build-mas“
- When this command finishes it will output two files inside the /dist/mas/ folder : Digify.app and Digify-01.20.pkg (or whatever version number it is)
Ffmpeg command-line check :
/Users/martinbarker/Documents/projects/digify-new/dist/mas/Digify.app/Contents/Resources/ffmpeg -h
Illegal instruction : 4






This is the first place the error appears, after building my mac mac-apple-store app, ffmpeg fails with this err.


- 

- Sign built app with .sh file : “sh mas-sign-script.sh”
view .sh file here

- 

- the .sh file will output Digify-mac.pkg




- Easier command to both build & sign : “sudo rm -rf dist/mas/ && npm run build-mas && sh mas-sign-script.sh”
- Upload the outputted “Digify-mac.pkg” file & submit to apple for review








Once this app gets published in the store, if you download it and try to run an ffmpeg command with the electron UI, it fails with this error :


/Applications/Digify.app/Contents/Resources/app.asar/node_modules/execa/lib/error.js:59 Uncaught (in promise) Error: Command failed with exit code 1: /Applications/Digify.app/Contents/Resources/ffmpeg -i /Users/martinbarker/Downloads/Felix Lebarty - Bobo/01. Bobo.mp3 -y -filter_complex concat=n=1:v=0:a=1 -c:a libmp3lame -b:a 320k /Users/martinbarker/Downloads/Felix Lebarty - Bobo/output-064237.mp3
ffmpeg version N-101191-g51a9f487ae-ntd_20150128 Copyright (c) 2000-2021 the FFmpeg developers
 built with Apple LLVM version 10.0.1 (clang-1001.0.46.4)
 configuration: pkg_config='pkg-config --static' --pkg-config-flags=--static --libdir=/usr/local/lib --extra-version=ntd_20150128 --disable-shared --disable-lzma --enable-gpl --enable-pthreads --enable-nonfree --disable-libass --enable-libfdk-aac --enable-libmp3lame --enable-libx264 --enable-static --enable-filters --enable-runtime-cpudetect
 libavutil 56. 65.100 / 56. 65.100
 libavcodec 58.125.100 / 58.125.100
 libavformat 58. 68.100 / 58. 68.100
 libavdevice 58. 12.100 / 58. 12.100
 libavfilter 7.107.100 / 7.107.100
 libswscale 5. 8.100 / 5. 8.100
 libswresample 3. 8.100 / 3. 8.100
 libpostproc 55. 8.100 / 55. 8.100
[mp3 @ 0x7feeae809c00] Estimating duration from bitrate, this may be inaccurate
Input #0, mp3, from '/Users/martinbarker/Downloads/Felix Lebarty - Bobo/01. Bobo.mp3':
 Metadata:
 comment : 
 album : Bobo
 artist : Felix Lebarty
 title : Funkytown Eklablog
 genre : Boogie
 date : 1984
 Duration: 00:05:19.53, start: 0.000000, bitrate: 320 kb/s
 Stream #0:0: Audio: mp3, 44100 Hz, stereo, fltp, 320 kb/s
/Users/martinbarker/Downloads/Felix Lebarty - Bobo/output-064237.mp3: Operation not permitted
 at makeError (/Applications/Digify.app/Contents/Resources/app.asar/node_modules/execa/lib/error.js:59)
 at handlePromise (/Applications/Digify.app/Contents/Resources/app.asar/node_modules/execa/index.js:114)
 at async file:/Applications/Digify.app/Contents/Resources/app.asar/src/js/newindex.js:1162



Command failed with exit code 1: Operation not permitted


-
-
Basic "pass-through" use of FFmpegReader/FFmpegWriter in scikit-video
6 février 2021, par JonathanZ supports MonicaCI am starting to use scikit-video and am having trouble writing files. I have reduced the problem to the simplest possible example


vid_file = "6710185719062326259_stamp_25pct.mp4"
output_file = "out_temp3.mp4"
reader = skvideo.io.FFmpegReader(vid_file)
writer = skvideo.io.FFmpegWriter(output_file)
for frame in reader.nextFrame():
 writer.writeFrame(frame)
writer.close()



I'm playing the files in VLC, and the
vid_file
is valid but the output file, though playable, is mostly big green blocks (though I can discern some details from the original video in it).

My goal, or course, is to do "interesting" manipulations of the frame before I write it out, but I need to get the "no modifications" version working correctly first. I'm also going to be using this on large files, so the
vread/vwrite
functions that process an entire file at once are not appropriate.

I'm guessing I need to set the appropriate values in the
outputdict
parameter for the FFmpegWriter, but there are so many that I don't know where to start. I have tried

writer = skvideo.io.FFmpegWriter(output_file, outputdict={'-crf': '0', '-pix_fmt': 'rgb24'})



(
-crf 0
to suppress any compression,-pixfmt rgb24
as that's what FFmpegReader says it delivers by default, but these don't work either.

Any ideas on how to make this work ?


Here's the
skvideo.io.ffprobe
video information for the input file.

{
 "@index": "0",
 "@codec_name": "h264",
 "@codec_long_name": "H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10",
 "@profile": "High",
 "@codec_type": "video",
 "@codec_time_base": "1/30",
 "@codec_tag_string": "avc1",
 "@codec_tag": "0x31637661",
 "@width": "480",
 "@height": "270",
 "@coded_width": "480",
 "@coded_height": "272",
 "@has_b_frames": "2",
 "@pix_fmt": "yuv420p",
 "@level": "21",
 "@chroma_location": "left",
 "@refs": "1",
 "@is_avc": "true",
 "@nal_length_size": "4",
 "@r_frame_rate": "15/1",
 "@avg_frame_rate": "15/1",
 "@time_base": "1/15360",
 "@start_pts": "0",
 "@start_time": "0.000000",
 "@duration_ts": "122880",
 "@duration": "8.000000",
 "@bit_rate": "183806",
 "@bits_per_raw_sample": "8",
 "@nb_frames": "120",
 "disposition": {
 "@default": "1",
 "@dub": "0",
 "@original": "0",
 "@comment": "0",
 "@lyrics": "0",
 "@karaoke": "0",
 "@forced": "0",
 "@hearing_impaired": "0",
 "@visual_impaired": "0",
 "@clean_effects": "0",
 "@attached_pic": "0",
 "@timed_thumbnails": "0"
 },
 "tag": [
 {
 "@key": "language",
 "@value": "und"
 },
 {
 "@key": "handler_name",
 "@value": "VideoHandler"
 }
 ]
}



I will mention that when I ffprobe the output file the only differences I see are 1) the timing data is different, which isn't surprising, and 2) the output file has


"@has_b_frames": "0",
 "@pix_fmt": "yuv444p",



I'm pretty confident the reader is working okay, because if I write out the data with


skimage.io.imsave('x.png', frame, check_contrast=False)



it looks good.


-
"Could not demultiplex stream" in loading Video recorded by Opencv's VideoWriter
21 novembre 2020, par batumanMy program is



int main(){
 cout << "Start the process" << endl;
 cv::VideoCapture vcap("rtsp://root:pass@192.168.0.90/axis-media/media.amp?camera=1");
 cout << "Camera connection done!" << endl;
 cv::Mat image, small;
 //Output video
 cv::Size S = cv::Size((int) vcap.get(CV_CAP_PROP_FRAME_WIDTH), (int) vcap.get(CV_CAP_PROP_FRAME_HEIGHT));
 int ex = static_cast<int>(vcap.get(CV_CAP_PROP_FOURCC));
 int fps = vcap.get(CV_CAP_PROP_FPS);
 cout << "fps " << fps << " ex " << ex << endl;
 cv::VideoWriter outputVideo;
 outputVideo.open("TEST.avi", ex/*CV_FOURCC('X', '2', '6', '4')*/, vcap.get(CV_CAP_PROP_FPS), S, true);
 if(!outputVideo.isOpened()){
 cout << "Could not open the output video for write" << endl;
 return -1;
 }

 for(;;){
 if(!vcap.read(image)){
 std::cout << "No frame" << std::endl;
 cv::waitKey(0);
 }

 cv::resize(image, small, image.size()/2, 0, 0 , cv::INTER_LINEAR);
 cv::imshow("Display", small);
 cv::waitKey(1);
 outputVideo.write(small);
 if(getkey() == '\n')
 break;
 }
 cout << "Camera release" << endl;
 outputVideo.release();
 vcap.release();
 image.release();
 small.release();
 return 0;
}
</int>



int ex = static_cast<int>(vcap.get(CV_CAP_PROP_FOURCC));</int>
ex is 0 here.


I can record the TEST.avi, but can't be read by cv::VideoCapture vcap("TEST.avi") ; or VLC player or Videos in Ubuntu.
The error is
"Could not demultiplex stream"
.


If I changed to



outputVideo.open("TEST.avi", CV_FOURCC('X', '2', '6', '4'), vcap.get(CV_CAP_PROP_FPS), S, true);
outputVideo.open("TEST.avi", CV_FOURCC('P','I','M','1'), vcap.get(CV_CAP_PROP_FPS), S, true);
outputVideo.open("TEST.avi", CV_FOURCC('M', 'P', '4', '2'), vcap.get(CV_CAP_PROP_FPS), S, true);
etc.




all have same problem.



If I set



outputVideo.open("TEST.avi", CV_FOURCC('i', 'Y', 'U', 'V'), vcap.get(CV_CAP_PROP_FPS), S, true);




I have error as
Opencv: FFMPEG iYUV is not supported with codec id 14



For



outputVideo.open("TEST.avi", CV_FOURCC('M', 'J', 'P', 'G'), vcap.get(CV_CAP_PROP_FPS), S, true);


OpenCV Error: Assertion failed (img.cols == width && img.rows == height && chann
els == 3) in write, file /home/Softwares/opencv/opencv/modules/videoio/src/
cap_mjpeg_encoder.cpp, line 829
terminate called after throwing an instance of 'cv::Exception'
 what(): /home/Softwares/opencv/opencv/modules/videoio/src/cap_mjpeg_enco
der.cpp:829: error: (-215) img.cols == width && img.rows == height && channels =
= 3 in function write




What could be wrong ? Is that my FFMPEG has problem ?