
Recherche avancée
Médias (91)
-
Corona Radiata
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Lights in the Sky
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Head Down
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Echoplex
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Discipline
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Letting You
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
Autres articles (74)
-
Les vidéos
21 avril 2011, parComme les documents de type "audio", Mediaspip affiche dans la mesure du possible les vidéos grâce à la balise html5 .
Un des inconvénients de cette balise est qu’elle n’est pas reconnue correctement par certains navigateurs (Internet Explorer pour ne pas le nommer) et que chaque navigateur ne gère en natif que certains formats de vidéos.
Son avantage principal quant à lui est de bénéficier de la prise en charge native de vidéos dans les navigateur et donc de se passer de l’utilisation de Flash et (...) -
Amélioration de la version de base
13 septembre 2013Jolie sélection multiple
Le plugin Chosen permet d’améliorer l’ergonomie des champs de sélection multiple. Voir les deux images suivantes pour comparer.
Il suffit pour cela d’activer le plugin Chosen (Configuration générale du site > Gestion des plugins), puis de configurer le plugin (Les squelettes > Chosen) en activant l’utilisation de Chosen dans le site public et en spécifiant les éléments de formulaires à améliorer, par exemple select[multiple] pour les listes à sélection multiple (...) -
La file d’attente de SPIPmotion
28 novembre 2010, parUne file d’attente stockée dans la base de donnée
Lors de son installation, SPIPmotion crée une nouvelle table dans la base de donnée intitulée spip_spipmotion_attentes.
Cette nouvelle table est constituée des champs suivants : id_spipmotion_attente, l’identifiant numérique unique de la tâche à traiter ; id_document, l’identifiant numérique du document original à encoder ; id_objet l’identifiant unique de l’objet auquel le document encodé devra être attaché automatiquement ; objet, le type d’objet auquel (...)
Sur d’autres sites (10069)
-
lavc/h263dsp : R-V V {h,v}_loop_filter
19 mai 2024, par Rémi Denis-Courmontlavc/h263dsp : R-V V h,v_loop_filter
Since the horizontal and vertical filters are identical except for a
transposition, this uses a common subprocedure with an ad-hoc ABI.
To preserve return-address stack prediction, a link register has to be
used (c.f. the "Control Transfer Instructions" from the
RISC-V ISA Manual). The alternate/temporary link register T0 is used
here, so that the normal RA is preserved (something Arm cannot do !).To load the strength value based on `qscale`, the shortest possible
and PIC-compatible sequence is used : AUIPC ; ADD ; LBU. The classic
LLA ; ADD ; LBU sequence would add one more instruction since LLA is a
convenience alias for AUIPC ; ADDI. To ensure that this trick works,
relocation relaxation is disabled.To implement the two signed divisions by a power of two toward zero :
(x / (1 << SHIFT))
the code relies on the small range of integers involved, computing :
(x + (x >> (16 - SHIFT))) >> SHIFT
rather than the more general :
(x + ((x >> (16 - 1)) & ((1 << SHIFT) - 1))) >> SHIFT
Thus one ANDI instruction is avoided.T-Head C908 :
h263dsp.h_loop_filter_c : 228.2
h263dsp.h_loop_filter_rvv_i32 : 144.0
h263dsp.v_loop_filter_c : 242.7
h263dsp.v_loop_filter_rvv_i32 : 114.0
(C is probably worse in real use due to less predictible branches.) -
Setting fixed keyframes in a h265 video using FFMPEG
10 octobre 2020, par TomerPI'm trying to cut a video and convert it into h265, but the output file isn't seekable in the same way as the original video (for example, instead of jumping to a keyframe every 1 second, the keyframes can be 15 seconds apart).


I've been trying to force keyframes every 2 seconds using the following command, but it doesn't seem to work (the input's frame rate is 25 fps) :


ffmpeg -i "D:\test\example.mp4" -ss 0 -t 60 -c:v libx265 -an -x265-params "crf=25:keyint=52:min-keyint=52:no-scenecut" "D:\test\example\example_0.mp4" -hwaccel cuda -hwaccel_output_format cuda



What am I doing wrong here ?


EDIT : Full run log :


ffmpeg -i "D:\test\example.mp4" -ss 0 -t 60 -c:v libx265 -an -x265-params "crf=25:keyint=52:min-keyint=52:no-scenecut" "D:\test\example\example_0.mp4" -hwaccel cuda -hwaccel_output_format cuda 
ffmpeg version 4.2.3 Copyright (c) 2000-2020 the FFmpeg developers
 built with gcc 9.3.1 (GCC) 20200523
 configuration: --disable-static --enable-shared --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-amf --enable-ffnvcodec --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt
 libavutil 56. 31.100 / 56. 31.100
 libavcodec 58. 54.100 / 58. 54.100
 libavformat 58. 29.100 / 58. 29.100
 libavdevice 58. 8.100 / 58. 8.100
 libavfilter 7. 57.100 / 7. 57.100
 libswscale 5. 5.100 / 5. 5.100
 libswresample 3. 5.100 / 3. 5.100
 libpostproc 55. 5.100 / 55. 5.100
Trailing options were found on the commandline.
[mov,mp4,m4a,3gp,3g2,mj2 @ 000001dabdc30fc0] stream 0, timescale not set
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'D:\test\example.mp4':
 Metadata:
 major_brand : isom
 minor_version : 512
 compatible_brands: isomiso2avc1mp41
 track : 1
 comment : www.dvdvideosoft.com
 title : Final Four Classic, 2004: Maccabi Elite Tel Aviv-Skipper Bologna
 encoder : Lavf55.19.104
 Duration: 01:38:43.57, start: 0.000000, bitrate: 1076 kb/s
 Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 854x480 [SAR 1:1 DAR 427:240], 944 kb/s, 25 fps, 25 tbr, 90k tbn, 50 tbc (default)
 Metadata:
 handler_name : VideoHandler
 Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 125 kb/s (default)
 Metadata:
 handler_name : SoundHandler
 Stream #0:2: Video: mjpeg (Baseline), yuvj420p(pc, bt470bg/unknown/unknown), 480x360, 90k tbr, 90k tbn, 90k tbc (attached pic)
Stream mapping:
 Stream #0:0 -> #0:0 (h264 (native) -> hevc (libx265))
Press [q] to stop, [?] for help
x265 [info]: HEVC encoder version 3.3+29-1e3dbf09ee4f
x265 [info]: build info [Windows][GCC 9.3.1][64 bit] 8bit+10bit
x265 [info]: using cpu capabilities: MMX2 SSE2Fast LZCNT SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
x265 [info]: Main profile, Level-3 (Main tier)
x265 [info]: Thread pool created using 16 threads
x265 [info]: Slices : 1
x265 [info]: frame threads / pool features : 4 / wpp(8 rows)
x265 [warning]: Source height < 720p; disabling lookahead-slices
x265 [info]: Coding QT: max CU size, min CU size : 64 / 8
x265 [info]: Residual QT: max TU size, max depth : 32 / 1 inter / 1 intra
x265 [info]: ME / range / subpel / merge : hex / 57 / 2 / 3
x265 [info]: Keyframe min / max / scenecut / bias : 25 / 250 / 40 / 5.00 
x265 [info]: Lookahead / bframes / badapt : 20 / 4 / 2
x265 [info]: b-pyramid / weightp / weightb : 1 / 1 / 0
x265 [info]: References / ref-limit cu / depth : 3 / off / on
x265 [info]: AQ: mode / str / qg-size / cu-tree : 2 / 1.0 / 32 / 1
x265 [info]: Rate Control / qCompress : CRF-28.0 / 0.60
x265 [info]: tools: rd=3 psy-rd=2.00 early-skip rskip mode=1 signhide tmvp
x265 [info]: tools: b-intra strong-intra-smoothing deblock sao
Output #0, mp4, to 'D:\test\example\example_0.mp4':
 Metadata:
 major_brand : isom
 minor_version : 512
 compatible_brands: isomiso2avc1mp41
 track : 1
 comment : www.dvdvideosoft.com
 title : Final Four Classic, 2004: Maccabi Elite Tel Aviv-Skipper Bologna
 encoder : Lavf58.29.100
 Stream #0:0(und): Video: hevc (libx265) (hev1 / 0x31766568), yuv420p, 854x480 [SAR 1:1 DAR 427:240], q=2-31, 25 fps, 12800 tbn, 25 tbc (default)
 Metadata:
 handler_name : VideoHandler
 encoder : Lavc58.54.100 libx265
 Side data:
 cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
frame= 1500 fps=116 q=-0.0 Lsize= 3811kB time=00:00:59.88 bitrate= 521.4kbits/s speed=4.62x 
video:3789kB audio:0kB subtitle:0kB other streams:0kB global headers:2kB muxing overhead: 0.581860%
x265 [info]: frame I: 10, Avg QP:26.67 kb/s: 3043.86 
x265 [info]: frame P: 395, Avg QP:28.57 kb/s: 1282.13 
x265 [info]: frame B: 1095, Avg QP:34.31 kb/s: 217.24 
x265 [info]: Weighted P-Frames: Y:3.8% UV:0.8%
x265 [info]: consecutive B-frames: 5.4% 5.4% 13.1% 65.4% 10.6% 

encoded 1500 frames in 12.93s (116.05 fps), 516.51 kb/s, Avg QP:32.75



-
How do I specify the flutter-ffmpeg package in iOS Podfile ?
26 août 2020, par Khoi LeBased on : this question,
I believe that they changed Podfiles such that this code (from a tutorial) :


if name == 'flutter_ffmpeg'
 pod name+'/min-gpl-lts', :path => File.join(symlink, 'ios')
else
 pod name, :path => File.join(symlink, 'ios')



and this code in the ffmpeg-flutter docs :
"Modify the default
#Plugin Pods
block as follows :"

# Prepare symlinks folder. We use symlinks to avoid having Podfile.lock
 # referring to absolute paths on developers' machines.
 system('rm -rf .symlinks')
 system('mkdir -p .symlinks/plugins')
 plugin_pods = parse_KV_file('../.flutter-plugins')
 plugin_pods.each do |name, path|
 symlink = File.join('.symlinks', 'plugins', name)
 File.symlink(path, symlink)
 if name == 'flutter_ffmpeg'
 pod name+'/<package>', :path => File.join(symlink, 'ios')
 else
 pod name, :path => File.join(symlink, 'ios')
 end
 end
</package>


No longer work. This is what my current Podfile looks like. What do I add so that I can specify my flutter_ffmpeg as "/min-gpl-lts."


# Uncomment this line to define a global platform for your project
platform :ios, '9.3'
pod 'Firebase/Auth'
pod 'Firebase/Firestore'
pod 'GoogleSignIn'
#pod 'flutter_ffmpeg/min-gpl-lts' # when i uncomment this line, it says "multiple sources for dependency"

# CocoaPods analytics sends network stats synchronously affecting flutter build latency.
ENV['COCOAPODS_DISABLE_STATS'] = 'true'

project 'Runner', {
 'Debug' => :debug,
 'Profile' => :release,
 'Release' => :release,
}

def flutter_root
 generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__)
 unless File.exist?(generated_xcode_build_settings_path)
 raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first"
 end

 File.foreach(generated_xcode_build_settings_path) do |line|
 matches = line.match(/FLUTTER_ROOT\=(.*)/)
 return matches[1].strip if matches
 end
 raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get"
end

require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root)

flutter_ios_podfile_setup

target 'Runner' do
 use_frameworks!
 use_modular_headers!

 flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
end

post_install do |installer|
 installer.pods_project.targets.each do |target|
 flutter_additional_ios_build_settings(target)
 end
end



I have tried this Podfile with the suggestion of "forking" the function out :


# Uncomment this line to define a global platform for your project
platform :ios, '9.3'
pod 'Firebase/Auth'
pod 'Firebase/Firestore'
pod 'GoogleSignIn'

# CocoaPods analytics sends network stats synchronously affecting flutter build latency.
ENV['COCOAPODS_DISABLE_STATS'] = 'true'

project 'Runner', {
 'Debug' => :debug,
 'Profile' => :release,
 'Release' => :release,
}

def flutter_root
 generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__)
 unless File.exist?(generated_xcode_build_settings_path)
 raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first"
 end

 File.foreach(generated_xcode_build_settings_path) do |line|
 matches = line.match(/FLUTTER_ROOT\=(.*)/)
 return matches[1].strip if matches
 end
 raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get"
end

require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root)

flutter_ios_podfile_setup

# Create this "fork" of flutter_install_ios_plugin_pods
def install_plugin_pods(ios_application_path = nil)
 # defined_in_file is set by CocoaPods and is a Pathname to the Podfile.
 ios_application_path ||= File.dirname(defined_in_file.realpath) if self.respond_to?(:defined_in_file)
 raise 'Could not find iOS application path' unless ios_application_path
 
 # Prepare symlinks folder. We use symlinks to avoid having Podfile.lock
 # referring to absolute paths on developers' machines.
 
 symlink_dir = File.expand_path('.symlinks', ios_application_path)
 system('rm', '-rf', symlink_dir) # Avoid the complication of dependencies like FileUtils.
 
 symlink_plugins_dir = File.expand_path('plugins', symlink_dir)
 system('mkdir', '-p', symlink_plugins_dir)
 
 plugins_file = File.join(ios_application_path, '..', '.flutter-plugins')
 plugin_pods = flutter_parse_plugins_file(plugins_file)
 plugin_pods.each do |name, path|
 symlink = File.join(symlink_plugins_dir, name)
 File.symlink(path, symlink)
 
 # Changes relative to flutter_ffmpeg
 if name == 'flutter_ffmpeg'
 pod name+'/min-gpl-lts', :path => File.join('.symlinks', 'plugins', name, 'ios')
 else
 pod name, :path => File.join('.symlinks', 'plugins', name, 'ios')
 end
 end
 end

target 'Runner' do
 use_frameworks!
 use_modular_headers!

 # flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
 # this function ^ is specified as follows
 # def flutter_install_all_ios_pods(ios_application_path = nil)
 # flutter_install_ios_engine_pod(ios_application_path)
 # flutter_install_ios_plugin_pods(ios_application_path)
 # end

 # use this subcall to do the first half of the above^ function
 flutter_install_ios_engine_pod File.dirname(File.realpath(__FILE__))

 # use our "fork" to install the plug in pods (exactly the same as
 # the original function but with ffmpeg package specified)
 install_plugin_pods(File.realpath(__FILE__))
end

post_install do |installer|
 installer.pods_project.targets.each do |target|
 flutter_additional_ios_build_settings(target)
 end
end



But this gives me an error in Xcode's
GeneratedPluginRegistrant.m
:Module 'apple_sign_in'not found.
So I think the Podfile is not working.

I also tried this, where I pass
File.dirname(File.realpath(__FILE__))
to the functioninstall_plugin_pods
:

# Uncomment this line to define a global platform for your project
platform :ios, '9.3'
pod 'Firebase/Auth'
pod 'Firebase/Firestore'
pod 'GoogleSignIn'

# CocoaPods analytics sends network stats synchronously affecting flutter build latency.
ENV['COCOAPODS_DISABLE_STATS'] = 'true'

project 'Runner', {
 'Debug' => :debug,
 'Profile' => :release,
 'Release' => :release,
}

def flutter_root
 generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__)
 unless File.exist?(generated_xcode_build_settings_path)
 raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first"
 end

 File.foreach(generated_xcode_build_settings_path) do |line|
 matches = line.match(/FLUTTER_ROOT\=(.*)/)
 return matches[1].strip if matches
 end
 raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get"
end

require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root)

flutter_ios_podfile_setup

# Create this "fork" of flutter_install_ios_plugin_pods
def install_plugin_pods(ios_application_path = nil)
 # defined_in_file is set by CocoaPods and is a Pathname to the Podfile.
 ios_application_path ||= File.dirname(defined_in_file.realpath) if self.respond_to?(:defined_in_file)
 raise 'Could not find iOS application path' unless ios_application_path
 
 # Prepare symlinks folder. We use symlinks to avoid having Podfile.lock
 # referring to absolute paths on developers' machines.
 
 symlink_dir = File.expand_path('.symlinks', ios_application_path)
 system('rm', '-rf', symlink_dir) # Avoid the complication of dependencies like FileUtils.
 
 symlink_plugins_dir = File.expand_path('plugins', symlink_dir)
 system('mkdir', '-p', symlink_plugins_dir)
 
 plugins_file = File.join(ios_application_path, '..', '.flutter-plugins')
 plugin_pods = flutter_parse_plugins_file(plugins_file)
 plugin_pods.each do |name, path|
 symlink = File.join(symlink_plugins_dir, name)
 File.symlink(path, symlink)
 
 # Changes relative to flutter_ffmpeg
 if name == 'flutter_ffmpeg'
 pod name+'/min-gpl-lts', :path => File.join('.symlinks', 'plugins', name, 'ios')
 else
 pod name, :path => File.join('.symlinks', 'plugins', name, 'ios')
 end
 end
 end

target 'Runner' do
 use_frameworks!
 use_modular_headers!

 # flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
 # this function ^ is specified as follows
 # def flutter_install_all_ios_pods(ios_application_path = nil)
 # flutter_install_ios_engine_pod(ios_application_path)
 # flutter_install_ios_plugin_pods(ios_application_path)
 # end

 # use this subcall to do the first half of the above^ function
 flutter_install_ios_engine_pod File.dirname(File.realpath(__FILE__))

 # use our "fork" to install the plug in pods (exactly the same as
 # the original function but with ffmpeg package specified)
 install_plugin_pods File.dirname(File.realpath(__FILE__))
end

post_install do |installer|
 installer.pods_project.targets.each do |target|
 flutter_additional_ios_build_settings(target)
 end
end



However, this gives me a
Error running pod install.
I runflutter clean
between builds.