
Recherche avancée
Autres articles (40)
-
Websites made with MediaSPIP
2 mai 2011, parThis page lists some websites based on MediaSPIP.
-
Installation en mode ferme
4 février 2011, parLe mode ferme permet d’héberger plusieurs sites de type MediaSPIP en n’installant qu’une seule fois son noyau fonctionnel.
C’est la méthode que nous utilisons sur cette même plateforme.
L’utilisation en mode ferme nécessite de connaïtre un peu le mécanisme de SPIP contrairement à la version standalone qui ne nécessite pas réellement de connaissances spécifique puisque l’espace privé habituel de SPIP n’est plus utilisé.
Dans un premier temps, vous devez avoir installé les mêmes fichiers que l’installation (...) -
La sauvegarde automatique de canaux SPIP
1er avril 2010, parDans le cadre de la mise en place d’une plateforme ouverte, il est important pour les hébergeurs de pouvoir disposer de sauvegardes assez régulières pour parer à tout problème éventuel.
Pour réaliser cette tâche on se base sur deux plugins SPIP : Saveauto qui permet une sauvegarde régulière de la base de donnée sous la forme d’un dump mysql (utilisable dans phpmyadmin) mes_fichiers_2 qui permet de réaliser une archive au format zip des données importantes du site (les documents, les éléments (...)
Sur d’autres sites (6026)
-
How to batch add chapters to video
2 juin 2021, par throwaway513I have 20 videos and chapter files in .mp4 and .txt formats. Their filenames are 1.mp4 / 1.txt all the way to 20.mp4 / 20 txt. I want to match the same filename video to same filename chapters.


How to batch add the metadata chapters to these videos in ffmpeg ? I am using windows


for %%a in ("*.mp4") do ffmpeg -i "%%a" -i "%%a.txt" -map_metadata 1 -map 0 "Chapvids\%%~na"



1.mp4.txt : No such file or directory


-
VB.NET FFMPEG Stops
18 mars 2012, par Mcqueen_23Hi evryone i'm trying to convert files using ffmpeg
my codes only fetched
— -Skip--- Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'Enrique Iglesias - Tonight.mp4' : Metadata : major_brand : mp42 minor_version : 0 compatible_brands : isommp42 creation_time : 2011-03-20 19:07:02 Duration : 00:03:50.05, start : 0.000000, bitrate : 219 kb/s Stream #0.0(und) : Video : h264, yuv420p, 480x360 [PAR 1:1 DAR 4:3], 117 kb/s, 29.97 fps, 59.75 tbr, 1k tbn, 59.83 tbc Metadata : creation_time : 1970-01-01 00:00:00 Stream #0.1(und) : Audio : aac, 44100 Hz, stereo, s16, 95 kb/s Metadata : creation_time : 2011-03-20 19:07:03 Output #0, mp3, to 'Enrique Iglesias - Tonight.mp3' : Metadata : major_brand : mp42 minor_version : 0 compatible_brands : isommp42 TDEN : 2011-03-20 19:07:02 TSSE : Lavf52.94.0 Stream #0.0(und) : Audio : libmp3lame, 44100 Hz, stereo, s16, 64 kb/s Metadata : creation_time : 2011-03-20 19:07:03and cannot i cannot get the next lines ung
Proccess.ErrorDataReceived
eventHere are my Codes
Public Structure ItemStruct
Public ID, URL, FileName, FileExt, ConvertExt, ConvertQuery As String
Public FileSize As Int64
Public Method, status As Method
Public prog_bar As ProgressBar
Public DeleteOrigin, TrimStart, TrimEnd As Boolean
End Structure
Friend Class Converter
Public busy As Boolean = False
Private _Item As ItemStruct
Public Event ProgressChange(ByVal id As String, ByVal percent As Integer, ByVal etr As TimeSpan)
Public Event ConvertFinish(ByVal id As String)
Private m As Threading.Thread
Private WithEvents timer As New Timer With {.Interval = 100}
Public Sub New()
End Sub
Public Sub New(ByVal item As ItemStruct)
_Item = item
m = New Threading.Thread(AddressOf Convert)
End Sub
Public Sub Start()
m.Start()
timer.Start()
End Sub
Private duration As Decimal = 0.0F
Private current As Decimal = 0.0F
Private varIsSet As Boolean = False
Private Sub Convert()
Dim cmd As String = _Item.ConvertQuery
Dim inputName As String = _Item.URL
Dim fName As String = _Item.FileName & _Item.FileExt
Dim dir As String = _Item.URL.Replace(fName, "")
Dim ouputName As String = dir & _Item.FileName & "." & _Item.ConvertExt
cmd = Replace(cmd, "--i", inputName)
cmd = Replace(cmd, "--o", ouputName)
cmd = cmd.Remove(0, 6)
cmd = cmd.Trim
Dim proc As New Process
With proc.StartInfo
.FileName = Path.Combine(Application.StartupPath, "ffmpeg.exe")
.Arguments = cmd
proc.EnableRaisingEvents = False
.UseShellExecute = False
.CreateNoWindow = True
.RedirectStandardError = True
.RedirectStandardOutput = True
.RedirectStandardInput = True
AddHandler proc.ErrorDataReceived, AddressOf UpdateData
proc.Start()
proc.BeginErrorReadLine()
End With
End Sub
Public Sub Cancel()
m.Abort()
End Sub
Private Sub UpdateData(ByVal sender As Object, ByVal e As DataReceivedEventArgs)
Dim s As String = e.Data
If s.Contains("Duration: ") Then
duration = GetDuration(s)
ElseIf s.Contains("frame=") Then
current = GetTime(s)
Else
Dim proc As Process = DirectCast(sender, Process)
Dim m As Match = Regex.Match(s, "^File\ '(.*?)'\ already\ exists", RegexOptions.IgnoreCase)
If m.Success Then
Dim w As StreamWriter = proc.StandardInput
If MessageBox.Show("File '" & m.Groups(1).ToString & "' already exists." & vbNewLine & "Do you want to Overwrite existing file?", "Overwrite", MessageBoxButtons.YesNo) = DialogResult.Yes Then
w.WriteLine("y")
Else
w.WriteLine("n")
End If
End If
'RaiseEvent ConvertFinish(_Item.ID)
'proc.WaitForExit()
'proc.Close()
End If
Debug.Print(s)
If Not duration And Not current Then varIsSet = False Else varIsSet = True
End Sub
Private Function GetDuration(ByVal s As String) As Double
Dim m As Match = Regex.Match(s, "Duration: ((.*?), (.*))")
If m.Success Then
Dim duration As String = m.Groups(2).ToString
Return TimeSpan.Parse(duration).TotalSeconds
End If
Return Nothing
End Function
Private Function GetTime(ByVal s As String) As Double
Dim m As Match = Regex.Match(s, "(.*) time=(.*) bitrate")
If m.Success Then
Dim currentTime As String = m.Groups(2).ToString
Return TimeSpan.Parse(currentTime).TotalSeconds
End If
Return Nothing
End Function
Private Sub timer_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles timer.Tick
If varIsSet Then
Dim etr As TimeSpan = TimeSpan.FromSeconds(CInt(current / duration))
etr = New TimeSpan(etr.Hours, etr.Minutes, etr.Seconds)
RaiseEvent ProgressChange(_Item.ID, CInt((current / duration) * 100 * 100), etr)
End If
End Sub
End Class -
Using and building FFMPEG library in Android Studio(Cmake)
8 septembre 2017, par y3k00000As title, I’m trying to use the ffmpeg source code as library in Android Studio on Ubuntu Linux, but meeting some trouble in compilation stage. I think I must be missing some compile option but having no idea what I miss, can somebody lend a hand ?
My codes & settings are below :
A simple auto-generated .cpp
#include
#include <string>
#include "libavcodec/aacenc.h"
extern "C"
JNIEXPORT jstring JNICALL
Java_y3k_testffmpegnative_MainActivity_stringFromJNI(
JNIEnv *env,
jobject /* this */) {
std::string hello = "Hello from C++";
return env->NewStringUTF(hello.c_str());
}
AACEncContext * aacEncContext; // Just trying by adding this.
</string>I’ve tried these Gradle setting and it didn’t help :
android {
....
externalNativeBuild {
cmake {
arguments "-DANDROID_TOOLCHAIN=clang"
cFlags "-std=c99"
cppFlags "-frtti","-fexceptions"
}
}
}
....CMakeLists.txt
(Android Studio generated)
....
include_directories( /home/y3k/ffmpeg )Error message while compiling :
/home/y3k/ffmpeg/libavutil/float_dsp.h
Error:(164, 50) error: expected ')'
Information:(164, 30) to match this '('
Error:(164, 50) error: expected ')'
Information:(164, 30) note: to match this '('
/home/y3k/ffmpeg/libavutil/fixed_dsp.h
Error:(153, 44) error: expected ')'
Information:(153, 30) to match this '('
Error:(153, 44) error: expected ')'
Information:(153, 30) note: to match this '('
/home/y3k/ffmpeg/libavcodec/mpeg4audio.h
Error:(44, 8) error: unknown type name 'av_export'
Error:(44, 18) error: expected unqualified-id
Error:(44, 8) error: unknown type name 'av_export'
Error:(44, 18) error: expected unqualified-id
/home/y3k/ffmpeg/libavcodec/aac.h
Error:(294, 21) error: expected member name or ';' after declaration specifiers
Error:(294, 21) error: expected member name or ';' after declaration specifiersFFMpeg config.h generated by this script :
NDK=/home/y3k/Android/Sdk/ndk-bundle
SYSROOT=$NDK/platforms/android-23/arch-arm/
TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64
function build_one
{
./configure \
--prefix=$PREFIX \
--disable-shared \
--enable-static \
--disable-doc \
--disable-ffmpeg \
--disable-ffplay \
--disable-ffprobe \
--disable-ffserver \
--disable-avdevice \
--disable-doc \
--disable-symver \
--cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi- \
--target-os=linux \
--arch=arm \
--enable-cross-compile \
--sysroot=$SYSROOT \
--extra-cflags="-Os -fpic $ADDI_CFLAGS" \
--extra-ldflags="$ADDI_LDFLAGS" \
$ADDITIONAL_CONFIGURE_FLAG
make clean
make
make install
}
CPU=arm
PREFIX=$(pwd)/android/$CPU
ADDI_CFLAGS="-marm"
build_oneBy tracing the errors I found these lines :
in float_dsp.h, fixed_dsp.h :
void (*butterflies_float)(float *av_restrict v1, float *av_restrict v2, int len);
av_restrict defined in config.h
#define av_restrict restrict
in aac.h :
....
struct AACContext {
AVClass *class;
....in mpeg4audio.h :
extern av_export const int avpriv_mpeg4audio_sample_rates[16];
So I’m guessing it’s because the compiler misrecognized the C code as C++, I tried adding these :
arguments "-DANDROID_TOOLCHAIN=clang"
cFlags "-std=c99"to my build.gradle but didn’t help. Having no idea where to move on. :(
I’m using the latest stable version of Android Studio on Ubuntu desktop. Please don’t be hesitate to ask if any extra information is required.
Also I’ve been tried edit my native-lib.cpp into .c (Surely with the code contents changed), but wasn’t working either.
Appreciate for any help.