You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
when using ffprobe analyse in aws lambda it returns the object half with default values . even though the same code works perfectly locally . could be something to do with different enviroments.
i needed the duration out of the FFProbeAnalysis but it always comes out zero .
for anyone in the future here is a helper class to get the ffprobe analysis . please note that the values are not parsed . so you have to parse them to your liking ( you can find the parse class in the library )
`public class FFProbeHelper
{
public static async Task<FFProbeAnalysis> AnalyzeRawAsync(Stream memoryStream, string ffprobePath, string tmpFilePath = "")
{
if (string.IsNullOrWhiteSpace(tmpFilePath))
tmpFilePath = $"tmp/{Guid.NewGuid()}.mp3"; // the tmp file path should be passed in case of lambda functions with prefix /tmp/..
await using (var fileStream = File.Create(tmpFilePath)) {
memoryStream.Seek(0, SeekOrigin.Begin);
await memoryStream.CopyToAsync(fileStream);
}
using var process = new Process();
process.StartInfo = new ProcessStartInfo {
FileName = ffprobePath,
Arguments = $"-loglevel error -print_format json -show_format -sexagesimal -show_streams -show_chapters -i {tmpFilePath}",
RedirectStandardOutput = true,
RedirectStandardError = true,
UseShellExecute = false,
CreateNoWindow = true
};
try {
process.Start();
var output = await process.StandardOutput.ReadToEndAsync();
await process.WaitForExitAsync();
File.Delete(tmpFilePath);
var analysis = JsonSerializer.Deserialize<FFProbeAnalysis>(string.Join(string.Empty, output), new JsonSerializerOptions() {PropertyNameCaseInsensitive = true});
return analysis;
}
catch (Exception e) {
Console.WriteLine("exception : " + e.Message);
throw;
}
}
}`
The text was updated successfully, but these errors were encountered:
when using ffprobe analyse in aws lambda it returns the object half with default values . even though the same code works perfectly locally . could be something to do with different enviroments.
i needed the duration out of the FFProbeAnalysis but it always comes out zero .
for anyone in the future here is a helper class to get the ffprobe analysis . please note that the values are not parsed . so you have to parse them to your liking ( you can find the parse class in the library )
`public class FFProbeHelper
{
}`
The text was updated successfully, but these errors were encountered: