Tag: video

Java中的媒体播放器库

我正在评估用Java播放音频/video的库。 它不需要是100%Java ; Java绑定到本机库是完全可以的。 可以从Java控制的外部应用程序也可以,只要它可以在Java组件上呈现video。 目标平台是Linux。 Windows支持是一个加号,但不是必需的。 我使用VLCj绑定玩VLC,一般情况下效果很好,但在压力下偶尔会崩溃。 我也在奴隶模式下使用mplayer,看起来不错。 但我也想评估其他选项。 这些是要求: 使用RTSP通过RTP实时播放H.264,MPEG4。 MJPEG通过HTTP获得额外积分。 能够在Java(Swing或AWT)组件上呈现video 开源,积极维护 稳定,坚如磐石 建议? 建议吗?

硬件加速java中的位图绘制

我希望能够在java中尽快绘制video的连续位图(类型为BufferedImage.TYPE_INT_RGB)。 我想知道这样做的最佳方法。 有没有人有任何建议我应该从哪里开始? 根据我的阅读,有两个选项:1)在使用JAWT的JNI dll中使用GDI / GDI +例程(我在Windows上)2)使用Java3D并将Textures应用到Box的脸部并将其旋转到相机 我对这些主题以及其他任何建议都很感兴趣。 当我创建一个ActiveX控件时,我在VB中做了大量的GDI / GDI +编程,所以使用GDI应该是无痛的,但我猜测Java3D会更多地利用GPU(我可能会错)并提供更好的性能。 你怎么看? GDI和JAWT与我以前的经验,或者与Java3D一起开始和新的API之旅。 提前致谢。 🙂

用Java获取video文件元数据

我一直试图找到一种方法来获取video文件中的元数据,如帧速率,长度,编解码器,宽高比。 哪些java库对此有好处?

Android camera2 api galaxy s7

我正在编写一个应用程序,用于记录手机中的video并将其上传到服务器。 适用于除Galaxy S7之外的任何设备。 在Galaxy S7上,录制的video文件只包含音频,没有video或一个video帧。 这在手机上创建的临时文件中是正确的,而不仅仅是上传到服务器的临时文件。 我正在使用Camera2 API,我尝试使用前后摄像头。 我尝试过我的代码和这两个示例应用程序: https : //developer.android.com/samples/Camera2Video/project.html https://github.com/googlesamples/android-Camera2Video/blob/master/Application/的src /主/ JAVA / COM /示例/机器人/ camera2video / Camera2VideoFragment.java 生成的video文件似乎没问题,这里是编解码器信息:Stream 0类型:video编解码器:H264 – MPEG-4 AVC(第10部分)(avc1)语言:英语分辨率:960×720显示分辨率:960×720帧率:29.055091 流1类型:音频编解码器:MPEG AAC音频(mp4a)语言:英语频道:立体声采样率:16000 Hz

video使用HTML 5和servlet

下面给出的代码用于video流。 这对于IE9和Firefox来说很不错,但Chrome和Mac Safari不行。 import java.io.*; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * Servlet implementation class VideoStreamServlet */ public class VideoStreamServlet extends HttpServlet { private static final long serialVersionUID = 1L; /** * Default constructor. */ public VideoStreamServlet() { // TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ […]

Android MediaRecorder使用绿线生成损坏的video

我正在尝试使用Android中的MediaRecorder为我的应用添加video录制function,但生成的video看起来像绿线一样损坏(音频很好)。 以下代码是我用来初始化MediaRecorder对象的代码: mMediaRecorder = new MediaRecorder(); mCamera.unlock(); mMediaRecorder.setCamera(mCamera); mMediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC); mMediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA); mMediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4); mMediaRecorder.setOutputFile(Utility.CAPTURE_VIDEO_FILENAME); mMediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB); mMediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H263); mMediaRecorder.setMaxDuration(60000); mMediaRecorder.setVideoFrameRate(20); mMediaRecorder.setMaxFileSize(5000000); mMediaRecorder.setVideoSize(352, 288); mMediaRecorder.setPreviewDisplay(mPreview.mHolder.getSurface()); mMediaRecorder.prepare(); mMediaRecorder.start(); 我已经看过这里和这里的建议,但它们似乎没有帮助我的事业。 但我确实认为它可能与不正确的video大小有关。 所以我的问题是:在使用API​​级别7时,有没有什么好方法可以获得兼容的video大小? 据我所知,我可以使用CamcorderProfile,如果我在API级别8,但7。

Java:编写自定义video编解码器的指南

我有一个非常奇怪的问题,但这里是: 是否有可能,是否有任何用C ++或Java编写自定义video编解码器的指南? 这是一个奇怪的部分:我不需要深入了解有关我不理解的音频和电影的大量信息。 我真正需要的是如何在电影播放器​​和电影文件之间制作软件层的技术背景。 原因如下:我想在C ++ / Java中创建一个库或最终的2个函数 – encode / decode,它将采用任何类型文件的RAW二进制输入,并根据给定的密码或类似的东西对其进行编码/解码。 然后我需要在电影播放器​​和电影文件之间进行此处理。 最终结果将是受密码保护的mp4 / avi / mpeg / wmv(并不重要)文件,只能使用此“编解码器”播放。 编解码器的内部逻辑现在不是问题。 我怎么想象它就像一个流,电影播放器​​请求文件并调用我的encode()函数,它需要一大块文件,解码它(它先前已被编码)并返回wmv / mp4中的正确字节等等在格式上。 这有可能吗?怎么样?

如何逐帧阅读video?

我想逐帧读取java8-64bit中的Mp4文件,并将每个帧作为jpg写入我的硬盘。 我的第一次尝试是使用JavaFX 2.2媒体播放器在View组件上播放该文件。 我想也许会有一个选项来注册一个观察者来获取一个事件,每次加载一个新的框架并准备在组件表面上绘制,但似乎没有这样的方法。 只抓住在组件上绘制的那些帧/像素就足够了。 这可以通过使用媒体播放器来完成吗? 我使用媒体播放器的原因是bcs这是我工作的最简单的解决方案。 我尝试了vlcj,只有32位,和gstreamer但没有运气:( 到目前为止我得到了什么: public class VideoGrabber extends extends JFrame { // code for scene setup omitted final MediaView view = createMediaView(…) // some other stuff happens here // now start the video view.getMediaPlayer().seek(Duration.ZERO); view.getMediaPlayer().play(); view.getMediaPlayer().setOnEndOfMedia(new Runnable() { // save image when done BufferedImage img = new BufferedImage(getWidth(), getHeight(), BufferedImage.TYPE_INT_BGR […]

如何从url加密video并将加密video保存到设备的SD卡

在我的应用程序中,我必须使用许多video文件。 所有video的大约总大小为500 MB。 所以我必须在第一次安装应用程序时决定并运行该应用程序我在后台下载video,并在加密后将该video保存到设备的SD卡中。 当使用video时,我解密该video并使用它。 我决定这是因为所有video文件都非常重要,所以该文件的安全性非常重要。 我非常努力地找到如何加密video并将其保存到SD卡… 最后有一件事我发现我放在下面但在这段代码中出现了错误PERMISSION DENIED。 码: public class VideoActivity extends Activity { VideoView video_view; MediaController m_controller; MediaPlayer mplayer; String[] a = {“1″,”2″,”3″,”4″,”5″,”6”}; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); try { main(a); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } public void writeToFile(String filename, Object […]

如何生成2小时的空白video

我想生成一个黑色或白色背景(甚至根本没有)的video,持续特定的持续时间(例如2小时)。 能否请您以编程方式快速建议(例如命令行,OpenCV)? 谢谢。