
Recherche avancée
Autres articles (54)
-
(Dés)Activation de fonctionnalités (plugins)
18 février 2011, parPour gérer l’ajout et la suppression de fonctionnalités supplémentaires (ou plugins), MediaSPIP utilise à partir de la version 0.2 SVP.
SVP permet l’activation facile de plugins depuis l’espace de configuration de MediaSPIP.
Pour y accéder, il suffit de se rendre dans l’espace de configuration puis de se rendre sur la page "Gestion des plugins".
MediaSPIP est fourni par défaut avec l’ensemble des plugins dits "compatibles", ils ont été testés et intégrés afin de fonctionner parfaitement avec chaque (...) -
Le plugin : Podcasts.
14 juillet 2010, parLe problème du podcasting est à nouveau un problème révélateur de la normalisation des transports de données sur Internet.
Deux formats intéressants existent : Celui développé par Apple, très axé sur l’utilisation d’iTunes dont la SPEC est ici ; Le format "Media RSS Module" qui est plus "libre" notamment soutenu par Yahoo et le logiciel Miro ;
Types de fichiers supportés dans les flux
Le format d’Apple n’autorise que les formats suivants dans ses flux : .mp3 audio/mpeg .m4a audio/x-m4a .mp4 (...) -
Emballe médias : à quoi cela sert ?
4 février 2011, parCe plugin vise à gérer des sites de mise en ligne de documents de tous types.
Il crée des "médias", à savoir : un "média" est un article au sens SPIP créé automatiquement lors du téléversement d’un document qu’il soit audio, vidéo, image ou textuel ; un seul document ne peut être lié à un article dit "média" ;
Sur d’autres sites (10129)
-
Rotating gyro data in gopro footage with ffpmeg
2 juillet 2023, par FPV ShenanigansI believe orientation of gyro data in some of my gopro clips is wrong. Reelsteady runs stabilization ok but it results in even worse than initial video shaky effect. I have filmed with gopro in 90 degree with orientation locked .


Is it possible to amend metadata if ffmpeg to fix this ?


the below is an example clip


Metadata :
major_brand : isom
minor_version : 512
compatible_brands : isomiso2mp41
encoder : Lavf60.10.100
Duration : 00:04:30.22, start : 0.000000, bitrate : 119132 kb/s
Stream #0:00x1 : Video : hevc (Main 10) (hvc1 / 0x31637668), yuv420p10le(pc, bt709), 3840x3360 [SAR 1:1 DAR 8:7], 118934 kb/s, 59.94 fps, 59.94 tbr, 60k tbn (default)
Metadata :
handler_name : GoPro H.265
vendor_id : [0][0][0][0]
encoder : GoPro H.265 encoder
timecode : 13:27:43:05
Side data :
displaymatrix : rotation of -90.00 degrees
Stream #0:10x2 : Audio : aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 189 kb/s (default)
Metadata :
handler_name : GoPro AAC
vendor_id : [0][0][0][0]
Stream #0:20x3 : Data : none (tmcd / 0x64636D74)
Metadata :
handler_name : GoPro H.265
timecode : 13:27:43:05


tried this


ffmpeg.exe -i "F :\2023 THE ONLY COPY\Chasing surfers\GX010223.MP4" -c copy -metadata:s:v rotate=90 "F :\2023 THE ONLY COPY\Chasing surfers\GX010223_test.mp4"


but reelsteady can't read metadata from a new video


-
Using aler9/rtsp-simple-server, able to stream HLS from file but not from ffmpeg's stdin
11 avril 2023, par PowercoderUPD : hehe, it actially works, but in chrome, not mozilla


I want to display programmatically generated stream on a webpage in real time. For this I have rtsp-simple-server with RTSP and HLS enabled. I managed to publish a stream from file with command
ffmpeg -re -stream_loop -1 -i file.mp4 -vcodec libx264 -f rtsp -rtsp_transport tcp rtsp://localhost:8554/mystream
and see it at http://localhost:8888/mystream.

But when I'm trying to do the same with python from the ffmpeg's stdin, I'm getting infinitely loading video instead of stream and browser console says "Uncaught (in promise) DOMException : The fetching process for the media resource was aborted by the user agent at the user's request". Here is my code :


import random
import shlex
import subprocess
import time

import numpy as np


def main():
 width = 1024
 height = 720
 framerate = 1
 frame_duration = 1 / framerate
 cmd = shlex.split(
 f'ffmpeg'
 f' -y'
 f' -f rawvideo'
 f' -vcodec rawvideo'
 f' -s {width}x{height}'
 f' -pix_fmt bgr24'
 f' -r {framerate}'
 f' -i -'
 f' -r {framerate}'
 f' -force_key_frames expr:eq(mod(n,3),0)'
 f' -vcodec libx264'
 f' -crf 18'
 f' -preset ultrafast'
 f' -tune zerolatency'
 f' -f rtsp'
 f' -rtsp_transport tcp'
 f' rtsp://localhost:8554/mystream'
 )
 ffmpeg_process = subprocess.Popen(cmd, stdin=subprocess.PIPE)
 try:
 while True:
 image = np.full(
 (height, width, 3),
 (
 random.randint(0, 255),
 random.randint(0, 255),
 random.randint(0, 255),
 ),
 dtype=np.uint8,
 )
 ffmpeg_process.stdin.write(image.tobytes())
 time.sleep(frame_duration)
 finally:
 ffmpeg_process.stdin.close()
 ffmpeg_process.wait()


if __name__ == '__main__':
 main()




In the server's logs seems like no bad messages instead of single 404 status (is it just about favicon, right ?)


2023/03/25 13:50:32 DEB [HLS] [conn 172.18.0.1] GET /mystream/
2023/03/25 13:50:32 DEB [HLS] [conn 172.18.0.1] [c->s] GET /mystream/ HTTP/1.1
Host: localhost:8888
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Encoding: gzip, deflate, br
Accept-Language: ru,en-US;q=0.7,en;q=0.3
Connection: keep-alive
Cookie: csrftoken=iRZDO5rsJzhh5peyyKhViN9yRslNQbuZ; Webstorm-713207de=ca4f5f1e-40e8-4bfd-97da-1be2f15f6e9e
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: cross-site
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/111.0


2023/03/25 13:50:32 INF [HLS] [muxer mystream] created (requested by 172.18.0.1)
2023/03/25 13:50:32 INF [HLS] [muxer mystream] is converting into HLS, 1 track (H264)
2023/03/25 13:50:32 DEB [HLS] [conn 172.18.0.1] [s->c] HTTP/1.1 200 OK
Access-Control-Allow-Credentials: true
Access-Control-Allow-Origin: *
Content-Type: text/html
Server: rtsp-simple-server

(body of 1240 bytes)
2023/03/25 13:50:32 DEB [HLS] [conn 172.18.0.1] GET /favicon.ico
2023/03/25 13:50:32 DEB [HLS] [conn 172.18.0.1] [c->s] GET /favicon.ico HTTP/1.1
Host: localhost:8888
Accept: image/avif,image/webp,*/*
Accept-Encoding: gzip, deflate, br
Accept-Language: ru,en-US;q=0.7,en;q=0.3
Connection: keep-alive
Cookie: csrftoken=iRZDO5rsJzhh5peyyKhViN9yRslNQbuZ; Webstorm-713207de=ca4f5f1e-40e8-4bfd-97da-1be2f15f6e9e
Referer: http://localhost:8888/mystream/
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/111.0


2023/03/25 13:50:32 DEB [HLS] [conn 172.18.0.1] [s->c] HTTP/1.1 404 Not Found
Access-Control-Allow-Credentials: true
Access-Control-Allow-Origin: *
Server: rtsp-simple-server


2023/03/25 13:50:32 DEB [HLS] [conn 172.18.0.1] GET /mystream/index.m3u8
2023/03/25 13:50:32 DEB [HLS] [conn 172.18.0.1] [c->s] GET /mystream/index.m3u8 HTTP/1.1
Host: localhost:8888
Accept: */*
Accept-Encoding: gzip, deflate, br
Accept-Language: ru,en-US;q=0.7,en;q=0.3
Connection: keep-alive
Cookie: csrftoken=iRZDO5rsJzhh5peyyKhViN9yRslNQbuZ; Webstorm-713207de=ca4f5f1e-40e8-4bfd-97da-1be2f15f6e9e
Referer: http://localhost:8888/mystream/
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: same-origin
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/111.0


2023/03/25 13:50:32 DEB [HLS] [conn 172.18.0.1] [s->c] HTTP/1.1 200 OK
Access-Control-Allow-Credentials: true
Access-Control-Allow-Origin: *
Content-Type: application/x-mpegURL
Server: rtsp-simple-server

(body of 122 bytes)
2023/03/25 13:50:34 DEB [HLS] [conn 172.18.0.1] GET /mystream/index.m3u8
2023/03/25 13:50:34 DEB [HLS] [conn 172.18.0.1] [c->s] GET /mystream/index.m3u8 HTTP/1.1
Host: localhost:8888
Accept: */*
Accept-Encoding: gzip, deflate, br
Accept-Language: ru,en-US;q=0.7,en;q=0.3
Connection: keep-alive
Cookie: csrftoken=iRZDO5rsJzhh5peyyKhViN9yRslNQbuZ; Webstorm-713207de=ca4f5f1e-40e8-4bfd-97da-1be2f15f6e9e
Referer: http://localhost:8888/mystream/
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: same-origin
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/111.0


2023/03/25 13:50:34 DEB [HLS] [conn 172.18.0.1] [s->c] HTTP/1.1 200 OK
Access-Control-Allow-Credentials: true
Access-Control-Allow-Origin: *
Content-Type: application/x-mpegURL
Server: rtsp-simple-server

(body of 122 bytes)
2023/03/25 13:50:36 DEB [HLS] [conn 172.18.0.1] GET /mystream/index.m3u8
2023/03/25 13:50:36 DEB [HLS] [conn 172.18.0.1] [c->s] GET /mystream/index.m3u8 HTTP/1.1
Host: localhost:8888
Accept: */*
Accept-Encoding: gzip, deflate, br
Accept-Language: ru,en-US;q=0.7,en;q=0.3
Connection: keep-alive
Cookie: csrftoken=iRZDO5rsJzhh5peyyKhViN9yRslNQbuZ; Webstorm-713207de=ca4f5f1e-40e8-4bfd-97da-1be2f15f6e9e
Referer: http://localhost:8888/mystream/
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: same-origin
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/111.0


2023/03/25 13:50:36 DEB [HLS] [conn 172.18.0.1] [s->c] HTTP/1.1 200 OK
Access-Control-Allow-Credentials: true
Access-Control-Allow-Origin: *
Content-Type: application/x-mpegURL
Server: rtsp-simple-server

(body of 122 bytes)




How do I get my stream from python visible on a webpage ?


-
Error : ffmpeg : Failed to download resource "sqlite"
22 février 2023, par nouri am trying to download ffmpeg but I am getting this error ! could anyone help ? I am using paperclip gem to add images and videos. I am getting this error on heroku when i try to add a new video Av::UnableToDetect (Unable to detect any supported library so that's why im trying to download ffmpeg. could someone help please ! thanks in advance


brew install ffmpeg


curl: (60) SSL certificate problem: certificate has expired
More details here: https://curl.haxx.se/docs/sslcerts.html

curl performs SSL certificate verification by default, using a "bundle"
 of Certificate Authority (CA) public keys (CA certs). If the default
 bundle file isn't adequate, you can specify an alternate file
 using the --cacert option.
If this HTTPS server uses a certificate signed by a CA represented in
 the bundle, the certificate verification probably failed due to a
 problem with the certificate (it might be expired, or the name might
 not match the domain name in the URL).
If you'd like to turn off curl's verification of the certificate, use
 the -k (or --insecure) option.
HTTPS-proxy has similar options --proxy-cacert and --proxy-insecure.
Error: ffmpeg: Failed to download resource "sqlite"
Download failed: https://sqlite.org/2022/sqlite-autoconf-3400100.tar.gz



when i add a new video to my website on heroku I got this error


2023-02-22T06:23:03.207072+00:00 app[web.1]: User Load (0.8ms) SELECT "users".* FROM "users" WHERE "users"."id" = $1 ORDER BY "users"."id" ASC LIMIT 1 [["id", 1]]
2023-02-22T06:23:03.208471+00:00 app[web.1]: Steptation Load (0.7ms) SELECT "steptations".* FROM "steptations" WHERE "steptations"."id" = $1 LIMIT 1 [["id", 1802]]
2023-02-22T06:23:03.210118+00:00 app[web.1]: [paperclip] Trying to link /tmp/RackMultipart20230222-2-1i28xon.mp4 to /tmp/847606d3771b12aa2d91db7647fe3a4920230222-2-165fycl.mp4
2023-02-22T06:23:03.210923+00:00 app[web.1]: [paperclip] Trying to link /tmp/847606d3771b12aa2d91db7647fe3a4920230222-2-165fycl.mp4 to /tmp/847606d3771b12aa2d91db7647fe3a4920230222-2-p6icfm.mp4
2023-02-22T06:23:03.211217+00:00 app[web.1]: Command :: file -b --mime '/tmp/847606d3771b12aa2d91db7647fe3a4920230222-2-p6icfm.mp4'
2023-02-22T06:23:03.218799+00:00 app[web.1]: [AV] Running command: if command -v avprobe 2>/dev/null; then echo "true"; else echo "false"; fi
2023-02-22T06:23:03.221000+00:00 app[web.1]: [AV] Running command: if command -v ffmpeg 2>/dev/null; then echo "true"; else echo "false"; fi
2023-02-22T06:23:03.222208+00:00 heroku[router]: at=info method=POST path= "/step_images?id=1802" host=www.mobileimplantlab.ca request_id=39f2b001-ab36-4a59-ae94-1f300d386a40 fwd="207.216.102.221" dyno=web.1 connect=0ms service=900ms status=500 bytes=234 protocol=https
2023-02-22T06:23:03.222987+00:00 app[web.1]: Completed 500 Internal Server Error in 18ms (ActiveRecord: 1.6ms)
2023-02-22T06:23:03.223510+00:00 app[web.1]: 
2023-02-22T06:23:03.223511+00:00 app[web.1]: Av::UnableToDetect (Unable to detect any supported library):
2023-02-22T06:23:03.223511+00:00 app[web.1]: app/controllers/step_images_controller.rb:15:in `create'
2023-02-22T06:23:03.223512+00:00 app[web.1]: 
2023-02-22T06:23:03.223512+00:00 app[web.1]: 
2023-02-22T06:23:14.356278+00:00 app[web.1]: Started POST "/step_images?id=1802" for 207.216.102.221 at 2023-02-22 06:23:14 +0000
2023-02-22T06:23:14.357993+00:00 app[web.1]: Processing by StepImagesController#create as HTML
2023-02-22T06:23:14.358067+00:00 app[web.1]: Parameters: {"utf8"=>"✓", "authenticity_token"=>"PgRtPGgyOSPP8lQlbf9fAgOSZre/XlYcKBKJhe81oOz9Ge81GZZzEfc4Xcnz0zzZ35S7PpsfKOse3Q73mxhjEA==", "step_image"=>{"product_id"=>"4", "text"=>"", "text2"=>"", "text3"=>"", "text4"=>"", "text5"=>"", "video"=>#, @original_filename="IMG_2826.mp4", @content_type="video/mp4", @headers="Content-Disposition: form-data; name=\"step_image[video]\"; filename=\"IMG_2826.mp4\"\r\nContent-Type: video/mp4\r\n">, "text6"=>"test", "user_id"=>"73", "case_id"=>"311", "step_id"=>"3"}, "commit"=>"Submit", "id"=>"1802"}
2023-02-22T06:23:14.359735+00:00 app[web.1]: User Load (0.8ms) SELECT "users".* FROM "users" WHERE "users"."id" = $1 ORDER BY "users"."id" ASC LIMIT 1 [["id", 1]]
2023-02-22T06:23:14.360954+00:00 app[web.1]: Steptation Load (0.7ms) SELECT "steptations".* FROM "steptations" WHERE "steptations"."id" = $1 LIMIT 1 [["id", 1802]]
2023-02-22T06:23:14.362132+00:00 app[web.1]: [paperclip] Trying to link /tmp/RackMultipart20230222-2-1stq4d4.mp4 to /tmp/847606d3771b12aa2d91db7647fe3a4920230222-2-1jq0dqp.mp4
2023-02-22T06:23:14.362719+00:00 app[web.1]: [paperclip] Trying to link /tmp/847606d3771b12aa2d91db7647fe3a4920230222-2-1jq0dqp.mp4 to /tmp/847606d3771b12aa2d91db7647fe3a4920230222-2-9hfi7z.mp4
2023-02-22T06:23:14.362932+00:00 app[web.1]: Command :: file -b --mime '/tmp/847606d3771b12aa2d91db7647fe3a4920230222-2-9hfi7z.mp4'
2023-02-22T06:23:14.370045+00:00 app[web.1]: [AV] Running command: if command -v avprobe 2>/dev/null; then echo "true"; else echo "false"; fi
2023-02-22T06:23:14.372073+00:00 app[web.1]: [AV] Running command: if command -v ffmpeg 2>/dev/null; then echo "true"; else echo "false"; fi
2023-02-22T06:23:14.374070+00:00 app[web.1]: Completed 500 Internal Server Error in 16ms (ActiveRecord: 1.5ms)
2023-02-22T06:23:14.374254+00:00 heroku[router]: at=info method=POST path= "/step_images?id=1802" host=www.mobileimplantlab.ca request_id=4a0702a2-8d14-454a-9f1f-edf154e140fc fwd="207.216.102.221" dyno=web.1 connect=0ms service=267ms status=500 bytes=234 protocol=https
2023-02-22T06:23:14.374720+00:00 app[web.1]: 
2023-02-22T06:23:14.374721+00:00 app[web.1]: Av::UnableToDetect (Unable to detect any supported library):



in my gem file


source 'https://rubygems.org'


# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '4.2.11.1'
# Use postgresql as the database for Active Record
gem 'pg', '~> 0.20.0'
# Use SCSS for stylesheets
gem 'sass-rails', '~> 5.0'
# Use Uglifier as compressor for JavaScript assets
gem 'uglifier', '>= 1.3.0'
# Use CoffeeScript for .coffee assets and views
gem 'coffee-rails', '~> 4.1.0'
# See https://github.com/rails/execjs#readme for more supported runtimes
# gem 'therubyracer', platforms: :ruby
gem 'pry', '~> 0.13.1'
# Use jquery as the JavaScript library
gem 'jquery-rails'
# Turbolinks makes following links in your web application faster. Read more: https://github.com/rails/turbolinks
gem 'turbolinks'
# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
gem 'jbuilder', '~> 2.0'
# bundle exec rake doc:rails generates the API under doc/api.
gem 'sdoc', '~> 0.4.0', group: :doc

# Use ActiveModel has_secure_password
# gem 'bcrypt', '~> 3.1.7'

# Use Unicorn as the app server
# gem 'unicorn'

# Use Capistrano for deployment
# gem 'capistrano-rails', group: :development


group :development do
 # Access an IRB console on exception pages or by using <%= console %> in views
 gem 'web-console', '~> 2.0'

 # Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring
 gem 'spring'
end

gem 'devise'
group :development, :test do
 gem "interactive_editor"
 gem "hirb"
 gem "awesome_print"
 gem 'byebug'
end
group :production do
 gem 'rails_12factor'
 gem 'puma'
end
gem 'mail_form'
gem 'font-awesome-sass', '~> 5.12.0'

gem 'bootsnap', '>= 1.1.0', require: false
gem 'bootstrap-sass', '~>3.2.0'

gem 'paperclip'

gem 'aws-sdk-s3'
gem 'aws-sdk', '< 2.0'

gem 'thor', '0.19.1'
gem 'omniauth-google-oauth2'
gem "recaptcha", require: "recaptcha/rails"
gem 'friendly_id', '~> 5.4.0'

gem 'activeadmin'

gem 'cocoon'
gem 'bigdecimal', '1.3.5'
gem 'bundler', '1.17.3'
gem 'paperclip-av-transcoder'
gem "paperclip-ffmpeg", "~> 1.2.0"
gem "will_paginate", "~> 3.0.4" 
gem 'rails-erd'
gem 'rails_autolink'

gem 'rails-erd', group: :development



in the model


has_attached_file :video, :styles => {
 :medium => { :geometry => "500x500", :format => 'jpg' },
 :thumb => { :geometry => "100x100", :format => 'jpg' }
 }, :processors => [:transcoder]

 validates_attachment_content_type :video,
 :content_type => [
 "video/mp4", 
 "video/quicktime",
 "video/3gpp",
 "video/x-ms-wmv",
 "video/mov",
 "video/flv",
 
 ]