
Recherche avancée
Médias (91)
-
MediaSPIP Simple : futur thème graphique par défaut ?
26 septembre 2013, par
Mis à jour : Octobre 2013
Langue : français
Type : Video
-
avec chosen
13 septembre 2013, par
Mis à jour : Septembre 2013
Langue : français
Type : Image
-
sans chosen
13 septembre 2013, par
Mis à jour : Septembre 2013
Langue : français
Type : Image
-
config chosen
13 septembre 2013, par
Mis à jour : Septembre 2013
Langue : français
Type : Image
-
SPIP - plugins - embed code - Exemple
2 septembre 2013, par
Mis à jour : Septembre 2013
Langue : français
Type : Image
-
GetID3 - Bloc informations de fichiers
9 avril 2013, par
Mis à jour : Mai 2013
Langue : français
Type : Image
Autres articles (24)
-
Selection of projects using MediaSPIP
2 mai 2011, parThe examples below are representative elements of MediaSPIP specific uses for specific projects.
MediaSPIP farm @ Infini
The non profit organizationInfini develops hospitality activities, internet access point, training, realizing innovative projects in the field of information and communication technologies and Communication, and hosting of websites. It plays a unique and prominent role in the Brest (France) area, at the national level, among the half-dozen such association. Its members (...) -
Sélection de projets utilisant MediaSPIP
29 avril 2011, parLes exemples cités ci-dessous sont des éléments représentatifs d’usages spécifiques de MediaSPIP pour certains projets.
Vous pensez avoir un site "remarquable" réalisé avec MediaSPIP ? Faites le nous savoir ici.
Ferme MediaSPIP @ Infini
L’Association Infini développe des activités d’accueil, de point d’accès internet, de formation, de conduite de projets innovants dans le domaine des Technologies de l’Information et de la Communication, et l’hébergement de sites. Elle joue en la matière un rôle unique (...) -
Création définitive du canal
12 mars 2010, parLorsque votre demande est validée, vous pouvez alors procéder à la création proprement dite du canal. Chaque canal est un site à part entière placé sous votre responsabilité. Les administrateurs de la plateforme n’y ont aucun accès.
A la validation, vous recevez un email vous invitant donc à créer votre canal.
Pour ce faire il vous suffit de vous rendre à son adresse, dans notre exemple "http://votre_sous_domaine.mediaspip.net".
A ce moment là un mot de passe vous est demandé, il vous suffit d’y (...)
Sur d’autres sites (3514)
-
Anomalie #3190 : Critère {fusion}
3 juin 2018, par jluc -Ce serait bien d’intégrer dans le core pour permettre de défaire les fusions cachées que le core fait
-
Android java.lang.UnsatisfiedLinkError : android error for .so libraries
14 septembre 2017, par Burak irenso libraries to my project for ffmpeg camera but I have got some errors when I load the library.
I’m getting error like that "java.lang.UnsatisfiedLinkError : android" .
My .so files directory is src-main-jniLibs-armeabi - so files. When I loading the so file gettting error I can’t load the so file. I have tried many answer but still going this error.
If you want other config files I can load here.
Error log is here also
09-14 17:40:33.739 19728-20196/? E/AndroidRuntime: FATAL EXCEPTION: AsyncTask #6
Process: com.leadtimeapp.io.internal.debug, PID: 19728
java.lang.RuntimeException: An error occurred while executing doInBackground()
at android.os.AsyncTask$3.done(AsyncTask.java:309)
at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:354)
at java.util.concurrent.FutureTask.setException(FutureTask.java:223)
at java.util.concurrent.FutureTask.run(FutureTask.java:242)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:234)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
at java.lang.Thread.run(Thread.java:818)
Caused by: java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.leadtimeapp.io.internal.debug-2/base.apk"],nativeLibraryDirectories=[/data/app/com.leadtimeapp.io.internal.debug-2/lib/arm64, /data/app/com.leadtimeapp.io.internal.debug-2/base.apk!/lib/arm64-v8a, /vendor/lib64, /system/lib64]]] couldn't find "libjniavformat.so"
at java.lang.Runtime.loadLibrary(Runtime.java:367)
at java.lang.System.loadLibrary(System.java:1076)
at com.googlecode.javacpp.Loader.loadLibrary(Loader.java:711)
at com.googlecode.javacpp.Loader.load(Loader.java:586)
at com.googlecode.javacpp.Loader.load(Loader.java:540)
at com.googlecode.javacv.cpp.avformat.<clinit>(avformat.java:40)
at com.googlecode.javacv.cpp.avformat.av_register_all(Native Method)
at com.leadtimeapp.io.ffmpeg.NewFFmpegFrameRecorder.<clinit>(NewFFmpegFrameRecorder.java:302)
at com.leadtimeapp.io.ffmpeg.FFmpegRecorderActivity.initVideoRecorder(FFmpegRecorderActivity.java:464)
at com.leadtimeapp.io.ffmpeg.FFmpegRecorderActivity.access$1400(FFmpegRecorderActivity.java:66)
at com.leadtimeapp.io.ffmpeg.FFmpegRecorderActivity$2.doInBackground(FFmpegRecorderActivity.java:368)
at com.leadtimeapp.io.ffmpeg.FFmpegRecorderActivity$2.doInBackground(FFmpegRecorderActivity.java:360)
at android.os.AsyncTask$2.call(AsyncTask.java:295)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:234)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
at java.lang.Thread.run(Thread.java:818)
Caused by: java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.leadtimeapp.io.internal.debug-2/base.apk"],nativeLibraryDirectories=[/data/app/com.leadtimeapp.io.internal.debug-2/lib/arm64, /data/app/com.leadtimeapp.io.internal.debug-2/base.apk!/lib/arm64-v8a, /vendor/lib64, /system/lib64]]] couldn't find "libavformat.so"
at java.lang.Runtime.loadLibrary(Runtime.java:367)
at java.lang.System.loadLibrary(System.java:1076)
at com.googlecode.javacpp.Loader.loadLibrary(Loader.java:711)
at com.googlecode.javacpp.Loader.load(Loader.java:577)
at com.googlecode.javacpp.Loader.load(Loader.java:540)
at com.googlecode.javacv.cpp.avformat.<clinit>(avformat.java:40)
at com.googlecode.javacv.cpp.avformat.av_register_all(Native Method)
at com.leadtimeapp.io.ffmpeg.NewFFmpegFrameRecorder.<clinit>(NewFFmpegFrameRecorder.java:302)
at com.leadtimeapp.io.ffmpeg.FFmpegRecorderActivity.initVideoRecorder(FFmpegRecorderActivity.java:464)
at com.leadtimeapp.io.ffmpeg.FFmpegRecorderActivity.access$1400(FFmpegRecorderActivity.java:66)
at com.leadtimeapp.io.ffmpeg.FFmpegRecorderActivity$2.doInBackground(FFmpegRecorderActivity.java:368)
at com.leadtimeapp.io.ffmpeg.FFmpegRecorderActivity$2.doInBackground(FFmpegRecorderActivity.java:360)
at android.os.AsyncTask$2.call(AsyncTask.java:295)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:234)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
at java.lang.Thread.run(Thread.java:818)
09-14 17:40:34.168 19728-19790/? E/NativeCrypto: ssl=0x7f643ae900
cert_verify_callback x509_store_ctx=0x7f76e3e1a0 arg=0x0
09-14 17:40:34.168 19728-19790/? E/NativeCrypto: ssl=0x7f643ae900
cert_verify_callback calling verifyCertificateChain authMethod=ECDHE_RSA
</clinit></clinit></clinit></clinit>My gradle is
apply plugin: 'com.android.application'
apply plugin: 'io.fabric'
apply plugin: 'com.github.triplet.play'
apply plugin: 'project-report'
def buildVersionCode = new Date().format("yyMMddHHmm",
TimeZone.getTimeZone("Europe/Istanbul")).toInteger()
def buildVersionName = "1.1.2"
def SupportVersion = '25.3.1'
def OkHttpVersion = '3.2.0'
def RetrofitVersion = '2.0.2'
def FacebookVersion = '4.+'
def GSonVersion = '2.6.2'
android {
compileSdkVersion 25
buildToolsVersion "25.0.3"
playAccountConfigs {
defaultAccountConfig {
...
}
}
defaultConfig {
applicationId "...."
resValue "string", "app_name", "..."
resValue "string", "face_app_id", "...."
minSdkVersion 16
playAccountConfig = playAccountConfigs.defaultAccountConfig
//noinspection OldTargetApi
targetSdkVersion 25
versionCode buildVersionCode
versionName buildVersionName
multiDexEnabled true
renderscriptTargetApi 19
renderscriptSupportModeEnabled true
}
signingConfigs {
....
}
lintOptions {
abortOnError false // true by default
checkAllWarnings false
checkReleaseBuilds false
ignoreWarnings true // false by default
quiet true // false by default
}
sourceSets {
main.jni.srcDirs = []
main.jniLibs.srcDirs = ['libs']
}
buildTypes {
release {
minifyEnabled true
debuggable false
signingConfig signingConfigs.release
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
applicationVariants.all { variant ->
variant.outputs.each { output ->
output.outputFile = new File(output.outputFile.parent,
output.outputFile.name.replace("-release", "-release-" + buildVersionName + "-" + buildVersionCode)
)
}
}
}
debug {
debuggable true
zipAlignEnabled true
applicationIdSuffix ".debug"
}
productFlavors {
arm7 {
// in the future, ndk.abiFilter might also work
ndk {
abiFilter 'armeabi-v7a'
}
}
arm8 {
ndk {
abiFilters 'arm64-v8a'
}
}
arm {
ndk {
abiFilter 'armeabi'
}
}
x86 {
ndk {
abiFilter 'x86'
}
}
x86_64 {
ndk {
abiFilter 'x86_64'
}
}
mips {
ndk {
abiFilters 'mips', 'mips64'
}
}
universal {
ndk {
abiFilters 'mips', 'mips64', 'x86', 'x86_64'
}
}
}
}
lintOptions {
abortOnError false
checkReleaseBuilds false
checkAllWarnings true
htmlReport true
htmlOutput file("lint-report.html")
checkReleaseBuilds true
disable 'MissingTranslation'
disable 'UnusedResources'
disable 'IconLauncherShape'
disable 'GoogleAppIndexingApiWarning'
disable 'SelectableText'
error 'CommitTransaction'
error 'InconsistentArrays'
error 'Registered'
error 'ManifestOrder'
}
}
play {
track = 'alpha'
}
dependencies {
compile fileTree(dir: 'libs', include: ['.jar', '.so'])
compile files('libs/javacpp.jar')
compile files('libs/javacv.jar')
compile project(':camera')
compile project(':VideoRecorder')
compile("com.android.support:appcompat-v7:$SupportVersion") {
exclude group: 'com.android.support', module: 'support-v4'
exclude group: 'com.android.support', module: 'support-annotations'
}
compile("com.android.support:cardview-v7:$SupportVersion") {
exclude group: 'com.android.support', module: 'support-annotations'
}
compile("com.android.support:design:$SupportVersion") {
exclude group: 'com.android.support', module: 'support-core-ui'
exclude group: 'com.android.support', module: 'appcompat-v7'
exclude group: 'com.android.support', module: 'support-v4'
}
compile("com.android.support:support-v4:$SupportVersion") {
exclude group: 'com.android.support', module: 'support-media-compat'
exclude group: 'com.android.support', module: 'support-compat'
}
compile('com.android.support:multidex:1.0.1') {
exclude group: 'com.android.support', module: 'support-vector-drawable'
}
compile(group: 'org.bytedeco', name: 'javacv-platform', version: '1.3') {
exclude group: 'org.bytedeco.javacpp-presets'
}
compile group: 'org.bytedeco.javacpp-presets', name: 'ffmpeg', version: '3.2.1-1.3'
compile group: 'org.bytedeco.javacpp-presets', name: 'ffmpeg', version: '3.2.1-1.3', classifier: 'android-arm'
compile "com.google.code.gson:gson:$GSonVersion"
compile "com.squareup.okhttp3:okhttp:$OkHttpVersion"
compile "com.squareup.retrofit2:retrofit:$RetrofitVersion"
compile "com.facebook.android:facebook-android-sdk:$FacebookVersion"
compile('com.crashlytics.sdk.android:crashlytics:2.6.8@aar') {
transitive = true;
}
compile('com.twitter.sdk.android:twitter:2.3.0@aar') {
transitive = true;
}
compile 'com.davemorrissey.labs:subsampling-scale-image-view:3.5.0'
compile 'com.github.bumptech.glide:glide:3.7.0'
compile 'de.hdodenhof:circleimageview:2.0.0'
compile 'com.wdullaer:materialdatetimepicker:2.3.0'
compile 'com.github.zhaokaiqiang.klog:library:1.4.0'
compile 'com.github.filippudak.progresspieview:library:1.0.4'
compile 'com.daimajia.swipelayout:library:1.2.0@aar'
compile 'com.amazonaws:aws-android-sdk-s3:2.4.7'
compile 'io.paperdb:paperdb:1.5'
compile 'org.greenrobot:eventbus:3.0.0'
compile 'com.jakewharton:butterknife:8.4.0'
compile 'com.flipboard:bottomsheet-core:1.5.0'
compile 'com.flipboard:bottomsheet-commons:1.5.0'
compile 'com.yqritc:android-scalablevideoview:1.0.4'
compile 'com.github.bumptech.glide:okhttp3-integration:1.4.0@aar'
compile 'com.google.android.gms:play-services-gcm:11.0.4'
compile 'me.relex:circleindicator:1.1.8@aar'
compile 'com.github.ihsanbal:scissors:1.1.3'
compile 'org.zakariya.stickyheaders:stickyheaders:0.7.5'
compile 'com.parse.bolts:bolts-android:1.4.0'
compile 'com.parse:parse-android:1.15.8'
compile 'com.getbase:floatingactionbutton:1.10.1'
compile 'com.github.wooplr:Spotlight:1.2.3'
compile 'com.adjust.sdk:adjust-android:4.7.0'
compile 'com.google.android.gms:play-services-analytics:11.0.4'
compile 'com.makeramen:roundedimageview:2.3.0'
compile 'com.squareup.okhttp3:logging-interceptor:3.3.1'
compile 'com.github.castorflex.verticalviewpager:library:19.0.1'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.4.0'
compile 'jp.wasabeef:blurry:2.1.1'
compile 'com.writingminds:FFmpegAndroid:0.3.2'
} -
Why does the frame count change when scaling with FFmpeg ?
22 octobre 2016, par ajmicekI use this to scale 1920x1080 H.264 videos :
ffmpeg -i IMG_1438.MOV -threads 2 -vf scale=-2:600 IMG_1438_scaledTo600.MOV
And it works great ! But here is my question : most of the time, the frame rate stays exactly the same between the original file and the scaled file. For example :
$ mediainfo -F IMG_1426.MOV | grep Frame\ rate
Frame rate : 29.970
Frame rate : 29.970 FPS
Frame rate mode : VFR
Frame rate mode : Variable
Frame rate : 29.970
Frame rate : 29.970 (29970/1000) FPS
$ mediainfo -F IMG_1426_scaledTo600.MOV | grep Frame\ rate
Frame rate : 29.970
Frame rate : 29.970 FPS
Frame rate mode : CFR
Frame rate mode : Constant
Frame rate : 29.970
Frame rate : 29.970 (30000/1001) FPSBut sometimes, the frame rate increases dramatically :
$ mediainfo -F IMG_1438.MOV | grep Frame\ rate
Frame rate : 25.044
Frame rate : 25.044 FPS
Frame rate mode : VFR
Frame rate mode : Variable
Frame rate : 25.044
Frame rate : 25.044 FPS
$ mediainfo -F IMG_1438_scaledTo600.MOV | grep Frame\ rate
Frame rate : 120.000
Frame rate : 120.000 FPS
Frame rate mode : CFR
Frame rate mode : Constant
Frame rate : 120.000
Frame rate : 120.000 FPSWhat should I know about FFmpeg or libx264 or libswscale that will help me understand why this happens ? (Hoping to hear from LordNeckbeard, in particular).
mediainfo IMG_1438.MOV --Full
outputs :General
Count : 327
Count of stream of this kind : 1
Kind of stream : General
Kind of stream : General
Stream identifier : 0
Count of video streams : 1
Count of audio streams : 1
OtherCount : 2
Video_Format_List : AVC
Video_Format_WithHint_List : AVC
Codecs Video : AVC
Audio_Format_List : AAC
Audio_Format_WithHint_List : AAC
Audio codecs : AAC LC
Complete name : IMG_1438.MOV
File name : IMG_1438
File extension : MOV
Format : MPEG-4
Format : MPEG-4
Format/Extensions usually used : mp4 m4v m4a m4b m4p 3gpp 3gp 3gpp2 3g2 k3g jpm jpx mqv ismv isma f4v
Commercial name : MPEG-4
Format profile : QuickTime
Internet media type : video/mp4
Codec ID : qt
Codec ID : qt 0000.00 (qt )
Codec ID/Url : http://www.apple.com/quicktime/download/standalone.html
CodecID_Version : 0000.00
CodecID_Compatible : qt
Codec : MPEG-4
Codec : MPEG-4
Codec/Extensions usually used : mp4 m4v m4a m4b m4p 3gpp 3gp 3gpp2 3g2 k3g jpm jpx mqv ismv isma f4v
File size : 113990140
File size : 109 MiB
File size : 109 MiB
File size : 109 MiB
File size : 109 MiB
File size : 108.7 MiB
Duration : 52268
Duration : 52 s 268 ms
Duration : 52 s 268 ms
Duration : 52 s 268 ms
Duration : 00:00:52.268
Duration : 00:00:52:09
Duration : 00:00:52.268 (00:00:52:09)
Overall bit rate : 17447026
Overall bit rate : 17.4 Mb/s
Frame rate : 25.044
Frame rate : 25.044 FPS
Frame count : 1309
Stream size : 56670
Stream size : 55.3 KiB (0%)
Stream size : 55 KiB
Stream size : 55 KiB
Stream size : 55.3 KiB
Stream size : 55.34 KiB
Stream size : 55.3 KiB (0%)
Proportion of this stream : 0.00050
HeaderSize : 28
DataSize : 113966271
FooterSize : 23841
IsStreamable : No
Encoded date : UTC 2016-10-08 22:51:19
Tagged date : UTC 2016-10-08 22:52:12
File last modification date : UTC 2016-10-08 22:51:19
File last modification date (local) : 2016-10-08 17:51:19
Writing library : Apple QuickTime
Writing library : Apple QuickTime
Encoded_Library_Name : Apple QuickTime
com.apple.quicktime.make : Apple
com.apple.quicktime.model : iPhone 5
com.apple.quicktime.software : 10.0.2
com.apple.quicktime.creationdate : 2016-10-08T17:51:19-0500
Video
Count : 334
Count of stream of this kind : 1
Kind of stream : Video
Kind of stream : Video
Stream identifier : 0
StreamOrder : 0
ID : 1
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format/Url : http://developers.videolan.org/x264.html
Commercial name : AVC
Format profile : High@L4.1
Format settings : CABAC / 1 Ref Frames
Format settings, CABAC : Yes
Format settings, CABAC : Yes
Format settings, ReFrames : 1
Format settings, ReFrames : 1 frame
Internet media type : video/H264
Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Codec ID/Url : http://www.apple.com/quicktime/download/standalone.html
Codec : AVC
Codec : AVC
Codec/Family : AVC
Codec/Info : Advanced Video Codec
Codec/Url : http://developers.videolan.org/x264.html
Codec/CC : avc1
Codec profile : High@L4.1
Codec settings : CABAC / 1 Ref Frames
Codec settings, CABAC : Yes
Codec_Settings_RefFrames : 1
Duration : 52268
Duration : 52 s 268 ms
Duration : 52 s 268 ms
Duration : 52 s 268 ms
Duration : 00:00:52.268
Duration : 00:00:52:09
Duration : 00:00:52.268 (00:00:52:09)
Bit rate : 17375530
Bit rate : 17.4 Mb/s
Width : 1920
Width : 1 920 pixels
Height : 1080
Height : 1 080 pixels
Stored_Height : 1088
Sampled_Width : 1920
Sampled_Height : 1080
Pixel aspect ratio : 1.000
Display aspect ratio : 1.778
Display aspect ratio : 16:9
Rotation : 90.000
Rotation : 90°
Frame rate mode : VFR
Frame rate mode : Variable
Frame rate : 25.044
Frame rate : 25.044 FPS
Minimum frame rate : 23.077
Minimum frame rate : 23.077 FPS
Maximum frame rate : 30.000
Maximum frame rate : 30.000 FPS
Frame count : 1309
Resolution : 8
Resolution : 8 bits
Colorimetry : 4:2:0
Color space : YUV
Chroma subsampling : 4:2:0
Chroma subsampling : 4:2:0
Bit depth : 8
Bit depth : 8 bits
Scan type : Progressive
Scan type : Progressive
Interlacement : PPF
Interlacement : Progressive
Bits/(Pixel*Frame) : 0.335
Stream size : 113523046
Stream size : 108 MiB (100%)
Stream size : 108 MiB
Stream size : 108 MiB
Stream size : 108 MiB
Stream size : 108.3 MiB
Stream size : 108 MiB (100%)
Proportion of this stream : 0.99590
Title : Core Media Video
Encoded date : UTC 2016-10-08 22:51:19
Tagged date : UTC 2016-10-08 22:52:12
Color range : Limited
colour_description_present : Yes
Color primaries : BT.709
Transfer characteristics : BT.709
Matrix coefficients : BT.709
Audio
Count : 272
Count of stream of this kind : 1
Kind of stream : Audio
Kind of stream : Audio
Stream identifier : 0
StreamOrder : 1
ID : 2
ID : 2
Format : AAC
Format/Info : Advanced Audio Codec
Commercial name : AAC
Format profile : LC
Codec ID : 40
Codec : AAC LC
Codec : AAC LC
Codec/Family : AAC
Codec/CC : 40
Duration : 52268
Duration : 52 s 268 ms
Duration : 52 s 268 ms
Duration : 52 s 268 ms
Duration : 00:00:52.268
Duration : 00:00:52:15
Duration : 00:00:52.268 (00:00:52:15)
Source duration : 52338
Source duration : 52 s 338 ms
Source duration : 52 s 338 ms
Source duration : 52 s 338 ms
Source duration : 00:00:52.338
Bit rate mode : CBR
Bit rate mode : Constant
Bit rate : 64000
Bit rate : 64.0 kb/s
Channel(s) : 1
Channel(s) : 1 channel
Channel positions : Front: C
Channel positions : 1/0/0
ChannelLayout : C
Samples per frame : 1024
Sampling rate : 44100
Sampling rate : 44.1 kHz
Samples count : 2305019
Frame rate : 43.066
Frame rate : 43.066 FPS (1024 spf)
Frame count : 2251
Source frame count : 2254
Compression mode : Lossy
Compression mode : Lossy
Stream size : 410424
Stream size : 401 KiB (0%)
Stream size : 401 KiB
Stream size : 401 KiB
Stream size : 401 KiB
Stream size : 400.8 KiB
Stream size : 401 KiB (0%)
Proportion of this stream : 0.00360
Source stream size : 410894
Source stream size : 401 KiB (0%)
Source stream size : 401 KiB
Source stream size : 401 KiB
Source stream size : 401 KiB
Source stream size : 401.3 KiB
Source stream size : 401 KiB (0%)
Source_StreamSize_Proportion : 0.00360
Title : Core Media Audio
Encoded date : UTC 2016-10-08 22:51:19
Tagged date : UTC 2016-10-08 22:52:12
Other #1
Count : 112
Count of stream of this kind : 2
Kind of stream : Other
Kind of stream : Other
Stream identifier : 0
Stream identifier : 1
Type : meta
Duration : 52268
Duration : 52 s 268 ms
Duration : 52 s 268 ms
Duration : 52 s 268 ms
Duration : 00:00:52.268
Duration : 00:00:52.268
Frame count : 6
Bit rate mode : VBR
Other #2
Count : 112
Count of stream of this kind : 2
Kind of stream : Other
Kind of stream : Other
Stream identifier : 1
Stream identifier : 2
Type : meta
Duration : 52268
Duration : 52 s 268 ms
Duration : 52 s 268 ms
Duration : 52 s 268 ms
Duration : 00:00:52.268
Duration : 00:00:52.268
Frame count : 1
Bit rate mode : CBRand
ffprobe IMG_1438.MOV
outputs :ffprobe version 3.1.3 Copyright (c) 2007-2016 the FFmpeg developers
built with Apple LLVM version 7.3.0 (clang-703.0.31)
configuration: --prefix=/usr/local/Cellar/ffmpeg/3.1.3 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-opencl --enable-libx264 --enable-libmp3lame --enable-libxvid --disable-lzma --enable-vda
libavutil 55. 28.100 / 55. 28.100
libavcodec 57. 48.101 / 57. 48.101
libavformat 57. 41.100 / 57. 41.100
libavdevice 57. 0.101 / 57. 0.101
libavfilter 6. 47.100 / 6. 47.100
libavresample 3. 0. 0 / 3. 0. 0
libswscale 4. 1.100 / 4. 1.100
libswresample 2. 1.100 / 2. 1.100
libpostproc 54. 0.100 / 54. 0.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'IMG_1438.MOV':
Metadata:
major_brand : qt
minor_version : 0
compatible_brands: qt
creation_time : 2016-10-08 22:51:19
com.apple.quicktime.make: Apple
com.apple.quicktime.model: iPhone 5
com.apple.quicktime.software: 10.0.2
com.apple.quicktime.creationdate: 2016-10-08T17:51:19-0500
Duration: 00:00:52.27, start: 0.000000, bitrate: 17446 kb/s
Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x1080, 17375 kb/s, 25.04 fps, 120 tbr, 600 tbn, 1200 tbc (default)
Metadata:
rotate : 90
creation_time : 2016-10-08 22:51:19
handler_name : Core Media Data Handler
encoder : H.264
Side data:
displaymatrix: rotation of -90.00 degrees
Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, mono, fltp, 62 kb/s (default)
Metadata:
creation_time : 2016-10-08 22:51:19
handler_name : Core Media Data Handler
Stream #0:2(und): Data: none (mebx / 0x7862656D), 0 kb/s (default)
Metadata:
creation_time : 2016-10-08 22:51:19
handler_name : Core Media Data Handler
Stream #0:3(und): Data: none (mebx / 0x7862656D), 0 kb/s (default)
Metadata:
creation_time : 2016-10-08 22:51:19
handler_name : Core Media Data Handler
Unsupported codec with id 0 for input stream 2
Unsupported codec with id 0 for input stream 3UPDATE
To clarify : my video above, the one with the high framerate (120 FPS) output after scaling, plays perfectly before and after scaling with FFmpeg (no sync issues, and 120 FPS is only about 14% larger in file size), I am simply trying to understand why this increase in framerate happens (just a little beyond Mulvya’s note that the framerate stored in the container is wrong).From a programming perspective, the initial issue I ran into was that I was using
frame=
from FFmpeg’s sterr console output to determine progress, which reports erroneous results when the frame count increases dramatically on output ("I’m 372% done encoding ?!") ; I have since read another stackoverflow answer and changed my code to usetime=
, which appears to be a more robust way for me to display FFmpeg progress. (Also, there is FFmpeg’s-progress
option, of course).Improving on the original command
My new command to scale, preserve a useful framerate, and optimize threads :
ffmpeg -i IMG_1438.MOV -vf scale=-2:600 -r 30 -vsync 0 IMG_1438_scaledTo600.MOV
Where
30
is the "Maximum frame rate" frommediainfo
.Thanks to help in the comments, I now know I do not fully understand FFmpeg’s use of three different time bases for timestamps :
tbn
,tbc
, andtbr
.
They were explained by Robert Swain in 2009 and his explanation was also used to answer a Stackoverflow question about tbn, tbc, tbr.It sounds to me, as I’m pulling together comments from Mulvya below and Michael Rampe at another forum, that
tbr
is guessed ; it is frequently but not always the best value to use when changing from a variable to a constant frame rate video.Which leaves these 2 questions...
(1)
tbr
is incorrect when "field rate and frame rate" differ ? Does this happen a lot ?
(2) Is-r 30
where30
is the maximum frame rate reported bymediainfo
the best way to do it for most codec/container combinations ? (Or should I only use this method when I am scaling a H.264/MPEG-4 AVC video ?)