
Recherche avancée
Autres articles (78)
-
Organiser par catégorie
17 mai 2013, parDans MédiaSPIP, une rubrique a 2 noms : catégorie et rubrique.
Les différents documents stockés dans MédiaSPIP peuvent être rangés dans différentes catégories. On peut créer une catégorie en cliquant sur "publier une catégorie" dans le menu publier en haut à droite ( après authentification ). Une catégorie peut être rangée dans une autre catégorie aussi ce qui fait qu’on peut construire une arborescence de catégories.
Lors de la publication prochaine d’un document, la nouvelle catégorie créée sera proposée (...) -
Récupération d’informations sur le site maître à l’installation d’une instance
26 novembre 2010, parUtilité
Sur le site principal, une instance de mutualisation est définie par plusieurs choses : Les données dans la table spip_mutus ; Son logo ; Son auteur principal (id_admin dans la table spip_mutus correspondant à un id_auteur de la table spip_auteurs)qui sera le seul à pouvoir créer définitivement l’instance de mutualisation ;
Il peut donc être tout à fait judicieux de vouloir récupérer certaines de ces informations afin de compléter l’installation d’une instance pour, par exemple : récupérer le (...) -
Demande de création d’un canal
12 mars 2010, parEn fonction de la configuration de la plateforme, l’utilisateur peu avoir à sa disposition deux méthodes différentes de demande de création de canal. La première est au moment de son inscription, la seconde, après son inscription en remplissant un formulaire de demande.
Les deux manières demandent les mêmes choses fonctionnent à peu près de la même manière, le futur utilisateur doit remplir une série de champ de formulaire permettant tout d’abord aux administrateurs d’avoir des informations quant à (...)
Sur d’autres sites (3820)
-
ffmpeg split_by_silence output flac have broken metadata [duplicate]
20 mars 2023, par MartinInput flac File : https://file.io/D1EXEgJ0OtgM


I have a shell script
split_by_silence.sh
which takes an input audio file, detects split points where silence (or very low volume audio) occurs, and then splits the audio file using ffmpeg into the individual split point segments.

So if 10 split points = 11 audio files exported.


When I run it on an mp3, it produces 11 files (as expected with my input file) and each file has correct length metadata.


But when ffmpeg splits a flac file, the metadata output for 'length' is broken


I've tried following the closest question, marked as a duplicate, here :
Cutting FLAC using ffmpeg does not change timestamps accordingly


By adding a step to re-encode my flac file in ffmpeg :


ffmpeg -i full.flac -ss 0 -t 2241 fixed.flac


Which I'm not sure if is working, but outputs a fixed.flac file. Which when I run with my split command :


ffmpeg -i "inputFile.flac" -c copy -map 0 -f segment -segment_times "22,441,5567,1122,etc..." "%d_output.flac"


The output files still have broken flac 'length' metadata, like you can see in my image, even though when opened in audacity, the file does have a real length. ffmpeg just encoded the wrong value ?




This is my current ffmpeg version :


$ ffmpeg
ffmpeg version 4.4.2-0ubuntu0.22.04.1 Copyright (c) 2000-2021 the FFmpeg developers
 built with gcc 11 (Ubuntu 11.2.0-19ubuntu1)



And here is my .sh file I run with


$ ./split_by_silence.sh


# -----------------------
# SPLIT BY SILENCE
# Requirements:
# ffmpeg
# $ apt-get install bc
# How To Run:
# $ ./split_by_silence.sh "full_lowq.flac" %03d_output.flac

# output title format
OUTPUTTITLE="%d_output.flac"
# input audio filepath
IN="/mnt/c/Users/marti/Documents/projects/split_by_silence2/full.flac"
# output audio filepath
OUTPUTFILEPATH="/mnt/c/Users/marti/Documents/projects/split_by_silence2"
# ffmpeg option: split input audio based on this silencedetect value
SD_PARAMS="-11dB"
MIN_FRAGMENT_DURATION=120 # split option: minimum fragment duration
export MIN_FRAGMENT_DURATION

# -----------------------
# step: ffmpeg
# goal: get comma separated list of split points (use ffmpeg to determine points where audio is at SD_PARAMS [-18db] )

echo "_______________________"
echo "Determining split points..."
SPLITS=$(
 ffmpeg -v warning -i "$IN" -af silencedetect="$SD_PARAMS",ametadata=mode=print:file=-:key=lavfi.silence_start -vn -sn -f s16le -y /dev/null \
 | grep lavfi.silence_start= \
 | cut -f 2-2 -d= \
 | perl -ne '
 our $prev;
 INIT { $prev = 0.0; }
 chomp;
 if (($_ - $prev) >= $ENV{MIN_FRAGMENT_DURATION}) {
 print "$_,";
 $prev = $_;
 }
 ' \
 | sed 's!,$!!'
)
echo "split points list= $SPLITS"

# add '5.5' to each split\
IFS=',' read -ra SPLITS_ARRAY <<< "$SPLITS"
for i in "${!SPLITS_ARRAY[@]}"; do
 SPLITS_ARRAY[i]=$(echo "${SPLITS_ARRAY[i]}+5.5" | bc)
done

SPLITS=$(IFS=','; echo "${SPLITS_ARRAY[*]}")
echo "SPLITS=$SPLITS"

# using the split points list, calculate how many output audio files will be created 
num=0
res="${SPLITS//[^,]}"
CHARCOUNT="${#res}"
num=$((CHARCOUNT + 2))
echo "_______________________"
echo "Exporting $num tracks with ffmpeg"

ffmpeg -i "$IN" -c copy -map 0 -f segment -segment_times "$SPLITS" "$OUTPUTFILEPATH/$OUTPUTTITLE"

echo "Done."

echo "------------------------------------------------"
echo "$num TRACKS EXPORTED"



I think this is an open defect ?
https://trac.ffmpeg.org/ticket/4905


-
i am getting when i am trying to run Ffmpegrabberframe on alpine image [closed]
18 mars 2020, par avinash tiwari# # A fatal error has been detected by the Java Runtime Environment :
# SIGSEGV (0xb) at pc=0x000000000000dc56, pid=446, tid=0x00007fd3c478db20 # # JRE version : OpenJDK Runtime Environment
(8.0_242-b08) (build 1.8.0_242-b08) # Java VM : OpenJDK 64-Bit Server
VM (25.242-b08 mixed mode linux-amd64 compressed oops) # Derivative :
IcedTea 3.15.0 # Distribution : Custom build (Wed Jan 29 10:43:50 UTC
2020) # Problematic frame : # C 0x000000000000dc56 # # Failed to
write core dump. Core dumps have been disabled. To enable core
dumping, try "ulimit -c unlimited" before starting Java again # # An
error report file with more information is saved as : #
/builds/had/tip/asset-delivery/firstgen-ingestion---backend/hs_err_pid446.log# If you would like to submit a bug report, please include # instructions on how to reproduce the bug and visit : #
https://icedtea.classpath.org/bugzilla # Exception in thread
"Thread-8" java.io.EOFException at
java.io.ObjectInputStream$BlockDataInputStream.peekByte(ObjectInputStream.java:3015)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1576)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:465)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:423)
at
org.scalatest.tools.Framework$ScalaTestRunner$Skeleton$1$React.react(Framework.scala:818)
at
org.scalatest.tools.Framework$ScalaTestRunner$Skeleton$1.run(Framework.scala:807)def extractAVI(rawDrivePath: String): List[String] = {
var errorList: List[String] = List.empty
FileUtils.listFiles(new File(rawDrivePath), new SuffixFileFilter(".avi"), TrueFileFilter.INSTANCE)
.asScala.toList.foreach(aviFile => {
var grabber: FFmpegFrameGrabber = null
var aviStream: InputStream = null
var isFailedExtraction: Boolean = false
try {
LOGGER.info(s"--------inside try----------${aviFile.getAbsolutePath}")
aviStream = new FileInputStream(aviFile.getAbsolutePath)
LOGGER.info("--------create grabber----------")
grabber = new FFmpegFrameGrabber(aviStream)
LOGGER.info("--------created grabber extraction of drives----------")
grabber.start()
LOGGER.info("--------start grabber of drives----------")
var count: Int = 1
for (frame <- Iterator.continually(grabber.grabImage()).takeWhile(_ != null)) {
ImageIO.write(converter.convert(frame), "jpg", new File(aviFile.getParent, "capture-" + count + ".jpg"))
count += 1
}
grabber.stop()
} catch {
case ex: Exception => {
LOGGER.info(s"Error while extracting images for ${aviFile.getAbsolutePath} {}", ex)
errorList :+= s"${aviFile.getAbsolutePath.replace(rawDrivePath, "")} -> ${ex.getMessage}"
isFailedExtraction = true
LOGGER.info("last inside catch")
}
} finally {
// Close the video file
LOGGER.info(s"inside finally ")
if (grabber != null)
grabber.release()
if (aviStream != null)
aviStream.close()
if (aviFile.exists() && !isFailedExtraction) {
LOGGER.debug(s"Deleting ${aviFile.getAbsolutePath}")
FileUtils.deleteQuietly(aviFile)
}
}
}) -
Stopping Referrer Spam
13 mai 2015, par Piwik Core Team — CommunityIn this blog post we explain what is Referrer spam, this new kind of spam that has recently appeared on the Internet. We also provide solutions to stop it and preserve the quality of your analytics data.
What is Referrer Spam ?
Referrer spam (also known as log spam or referrer bombing) is a kind of spamming aimed at web analytics tools. A spammer bot makes repeated web site requests using a fake referrer URL to the site the spammer wishes to advertise.
Here is an example of referrer spam in action :
Half of those referrers are spams, here are some well know spammers that you may have seen in your logs :
buttons-for-you-website.com
,best-seo-offer.com
,semalt.com
…The benefit for spammers is that their website will appear in analytics tools like Piwik or Google Analytics :
- public analytics reports (or logs) will be indexed by search engines : links to the spammer’s website will improve its ranking
- curious webmasters are likely to visit their referrers, thus bringing traffic to the spammer’s website
How to deal with Referrer Spam ?
Referrer spam is still new and analytics tools are all handling it differently.
Referrer Spam in Piwik
At Piwik we started working on mitigating Referrer spam more than a year ago. If you use Piwik and keep it up to date, you do not need to do anything.
Referrer spammers are automatically excluded from your reports to keep your data clean and useful.
New spammers are continuously detected and added to Piwik’s blacklist on each update. If you find a new spammer in your analytics data, you can even report it so that it is added to the Piwik’s open referrer blacklist and blocked for everyone.
Referrer Spam in Google Analytics
Google Analytics doesn’t offer any spam protection by default. It can however be configured manually using a custom Filter.
To create a filter in Google Analytics go to the Admin section and click on All Filters. Create a new custom filter that excludes based on the Campaign Source field. In the Filter pattern enter the spammers domains you want to exclude (this is a regular expression) :
If new spammers arise you will need to update this list. You can also use Piwik’s referrer blacklist to exclude all the spammers currently detected.
Other Analytics Tools
Many web analytics tools do not yet handle Referrer spam and when using these tools, you will often find a lot of spam data in your Referrer Websites analytics reports.
If you use an analytics tool that does not exclude Referrer spam, we recommend to contact the vendor and ask them to implement a mechanism to remove these referrer spammers. As of today many analytics vendors still have not mitigated this issue.
Public List of Referrer Spammers
At Piwik with the help of our large community we have decided to tackle this growing spam issue. We have created a list of up to date referrer spammers that anyone can edit.
The list is available in a simple text file on Github : github.com/piwik/referrer-spam-blacklist.
The list is released under the Public Domain and anyone can use it within their applications to exclude referrer spammers.
Many people have already contributed new spammers to the list. We invite you to use the list in your apps and websites and help us keep the list up to date !
Let’s unite and fight the spammers together.
Happy Analytics !