【问题标题】:Reduce video file size减小视频文件大小
【发布时间】:2018-12-28 15:22:05
【问题描述】:

我正在使用 Xam.Plugin.Media 来捕捉照片并录制视频。问题是视频的文件大小总是在 20MB 以上。

我尝试将设置设置为最低,但仍为 20 秒的视频获得 20MB 的文件大小。我正在使用三星 Galaxy A9 (2018)。我可以使用 FFMPEG 来减小文件大小吗?

private async void btnCamera4_Clicked(object sender, EventArgs e)   
{
   var cafNo = entCafNo.Text;
   TimeSpan time = new TimeSpan(0, 0, 0, 20, 0);

   await CrossMedia.Current.Initialize();

   if (!CrossMedia.Current.IsCameraAvailable || !CrossMedia.Current.IsTakeVideoSupported)
   {
      await DisplayAlert("No Camera", "No Camera Available", "Ok");
      return;
   }

   try
   {
       var file = await CrossMedia.Current.TakeVideoAsync(
       new Plugin.Media.Abstractions.StoreVideoOptions
       {
           Name = cafNo + "_VID.mp4",
           CompressionQuality = 0,
           Quality = VideoQuality.Low,
           DesiredLength = time
        });

        entVideoUrl.Text = file.Path;
    }
    catch (Exception ex)
    {
        Crashes.TrackError(ex);
    }
}

【问题讨论】:

  • 您在寻找安卓还是表单?因为我看到表单代码,但只是询问,因为它很容易回答
  • @G.hakim 我需要它用于表单

标签: xamarin xamarin.forms xamarin.android


【解决方案1】:

如果您看到 Xamarian's 的这篇很棒的博客

有本机代码说明如何使用本机进行适当的视频压缩。由于它是本机代码,因此您也可以根据需要对其进行编辑。

如有疑问请随时回复

【讨论】:

  • 我浏览了 cmets,他们说 ffmpeg 不适用于 api 6 及更高版本我需要减小文件大小,因为我遇到内存不足异常
  • Ffmpeg 从来都不是一个选项您是否查看了该答案中的指南?
  • 我已经修复了我添加了 LargeHeap 设置我现在的问题是 Java.Net.SocketException: 向服务器发送数据时套接字关闭
  • 设置 LargeHeap 是一种不好的做法,但没关系,因此 socketExpection 堆栈跟踪在这里会有所帮助
  • 如何防止使用 largeheap?
猜你喜欢
  • 2019-02-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-28
  • 2023-04-09
  • 1970-01-01
  • 2017-02-15
  • 1970-01-01
相关资源
最近更新 更多