
Recherche avancée
Médias (1)
-
The pirate bay depuis la Belgique
1er avril 2013, par
Mis à jour : Avril 2013
Langue : français
Type : Image
Autres articles (58)
-
Problèmes fréquents
10 mars 2010, parPHP et safe_mode activé
Une des principales sources de problèmes relève de la configuration de PHP et notamment de l’activation du safe_mode
La solution consiterait à soit désactiver le safe_mode soit placer le script dans un répertoire accessible par apache pour le site -
Websites made with MediaSPIP
2 mai 2011, parThis page lists some websites based on MediaSPIP.
-
Publier sur MédiaSpip
13 juin 2013Puis-je poster des contenus à partir d’une tablette Ipad ?
Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir
Sur d’autres sites (7532)
-
Working with content-type quicktime in ffmpeg throwing error `moov not found`
6 mai 2019, par user10204157So my program is setup to download a video and stream it into a file. These videos are .mp4 and .mov.
The problem is that .mov files do not work and I think it’s just the way I am streaming the file. But I am not sure. Because .mp4 files work without any errors. But when I use .mov files I get an error saying
Powershell Errors : [mov,mp4,m4a,3gp,3g2,mj2 @ 000002707b9cb700] moov atom not found
Which is coming from this powershell script :
ffmpeg -i $Args[0] -vcodec copy -acodec copy -movflags +faststart $Args[1]
The code that calls this script is as follows :
streamVideos_PROMISES.push(
axios({
method: "get",
url: video.url,
responseType: "stream"
})
);
}
});
Promise.all(streamVideos_PROMISES)
.then(function(response) {
response.map(response_item => {
let tempFileName = new Date().valueOf();
let videoType = response_item.headers["content-type"].split("/")[1];
if (videoType === "quicktime") videoType = "mov"; <---Maybe the issue?
const file = fs.createWriteStream(
`./cache/videos/${tempFileName + "."}${videoType}`
);
var spawn = require("child_process").spawn,
child;
response_item.data.pipe(file);
child = spawn("powershell.exe", [
"./scripts/ffmpeg_convert.ps1",
`./cache/videos/${tempFileName + "."}${videoType}`,
` ./cache/converted_videos/${tempFileName + "."}${videoType}`
]);
child.stdout.on("data", function(data) {
console.log("Powershell Data: " + data);
});
child.stderr.on("data", function(data) {
console.log("Powershell Errors: " + data);
});
child.on("exit", function() {
console.log("Finished converting thumbnails");
return thumbsupply.generateThumbnail(
`./cache/converted_videos/${tempFileName + "."}${videoType}`,
{
mimetype: response_item.headers["content-type"]
}
);
});
child.stdin.end(); //end input
});
})
.catch(err => {
console.log(err);
res.status(500).json({ Error: "Could not generate thumbnail" });
});note
Theresponse_item.headers["content-type"].split("/")
for .mov is quicktime, so I assumed that I could interchange the extensions...Which is probably wrong.Edit
So I manually typed in the$args
as follows :ffmpeg -i "./cache/videos/1556897345129.mov" -vcodec copy -acodec copy -movflags +faststart "./cache/converted_videos/are_you_kidding_me.mov"
and it works.
Edit 2
child = spawn("powershell.exe", [
"./scripts/ffmpeg_convert.ps1",
"./cache/videos/1556897345129.mov", <-- Using the string literal works.
` ./cache/converted_videos/${tempFileName + "."}${videoType}`
]); -
Can someone teach me about downloading DRM content ? [closed]
1er octobre 2024, par KingKongGotNoBallsThere is some videos that I would like to download that are DRM protected. I tried using StreamFab for the first time yesterday and it told me that the encryption used in the video was unknown or something like that.


I have read that you have to get some keys and then unencrypt something. But I have tried researching it many times and I have never found someone throughly explain all the process. Most of the videos that I need are on the -N-B-A- site.


Could someone explain to me the process of how to do that ?


-
Accessing web content with ffmpeg on android
9 janvier 2017, par Pure_eyesI’m using ffmpeg inside my xamarin.android project,by accessing a statically build version for the corresponding architecture of the device.
I’m using https://www.johnvansickle.com/ffmpeg/, static builds which support https protocol.
I’m calling ffmpeg by starting a new process and passing the arguments.Here is a pseudo code for the operation :arguments = {'-i',inputFileName,...}
run('./ffmpeg',arguments,redirectOutput = true,...)
.OnOutput(s) => log(s)Now,I want to access a file in the web, directly with ffmpeg, since from my testing it is more efficient in term of bandwidth, and speed.
The problem i’m facing is that because i’m using a static build of ffmpeg, we need to statically link gclib, which results loss of dns resolution as stated in the readme :
A limitation of statically linking glibc is the loss of DNS resolution. Installing
nscd through your package manager will fix this or you can use
"ffmpeg -i http://<ip address="address" here="here">/"</ip>
instead of"ffmpeg -i http://example.com/"
But the content that i’m trying to get provides strictly only through HTTPS,so there is no way to access it via the ip.
But on Linux systems i had no problem accessing the content(With the same command as for android), thanks to nscd, which isn’t present in android.- Is there anyway to use android’s dns resolution ?
- Or compile ffmpeg
differently, as stated in this
question ?Maybe using android
NDK would default this ?Would ffmpeg even work then ? - Or somehow pipe the content, to
ffmpeg’s stdin, and tell it to input from pipe (Would it still be
more efficient, than downloading and saving the file, then running
ffmpeg ) ?
All suggestions are welcomed !
EDIT
As for SushiHangover advice, i was able to implement it via piping,i came up with two ways :
Process ffmpegProcess = new Process();
ffmpegProcess.StartInfo.FileName = "ffmpeg";
ffmpegProcess.StartInfo.Arguments = ....
ffmpegProcess.StartInfo.UseShellExecute = false;
ffmpegProcess.StartInfo.RedirectStandardInput = true;
ffmpegProcess.Start();
//Way 1
var data = await GetBytesAsync();
await ffmpegProcess.StandardInput.BaseStream.WriteAsync(b, 0,b.Length);
// Way 2
await (await GetStreamAsync()).CopyToAsync(ffmpegProcess.StandardInput.BaseStream);Which both work, but they aren’t efficient in term of bandwidth as ffmpeg itself, i tested the network traffic with NetBalancer.
Way 1 (Fresh Data - First time running program) : 401 KB Upload/ 19.7 MB Download
Way 1 (Second time running program) : 334.3 KB Upload/ 17.7 MB Download
Way 2 (Second time running program) : 370 KB Upload/ 16.6 MB Download
Through FFmpeg Only (Fresh Data - First time running program) : 142.4 KB Upload / 5.3 MB Download
Through FFmpeg Only (Second time running program) : 67.5 KB Upload / 3.7 MB DownloadWho can i overcome the gap ? I speculate that ffmpeg only reads the headers, and able to download only the needed audio stream based on my arguments, rather than the whole video as my snippets do.