手机实时录制实时传递的视频无法播放

我边录制边传递视频到PC端,然而PC收到后的视频无法播放,但是PC端收到的视频大小和录制下来的视频大小一模一样,还有就是如果我是把录制好的视频传递到PC端,那么就可以正常播放,首先不是播放器问题,问题出现在实时传输时可能会把视频的信息头丢失,因为录制之后的视频时拥有信息头的,所以pc端接受到的视频就可以播放,但是实时传输的视频是没有信息头的,导致PC端无法播放,请问是不是这样,如果真的是这样该怎么解决,如果不是这样又是怎么回事请问哪一位好心人给我指点指点,给我个启发吧!

1个回答

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
手机实时录制实时传送到电脑端的视频无法播放

手机端: package com.example.lenovo.viedoapp; import android.app.Activity; import android.hardware.Camera; import android.media.MediaRecorder; import android.os.Bundle; import android.view.SurfaceHolder; import android.view.SurfaceView; import android.view.View; import android.widget.Button; import android.widget.Toast; import com.google.android.gms.common.api.GoogleApiClient; import java.io.File; import java.io.IOException; import static com.example.lenovo.viedoapp.R.id.surfaceView; public class viedoApp extends Activity implements View.OnClickListener, SurfaceHolder.Callback { Button but_start; Button but_stop; Button but_send; SurfaceView sfv; SurfaceHolder sfh; Camera camera; MediaRecorder mediaRecorder; File videoFile; File aduioFile; /** * ATTENTION: This was auto-generated to implement the App Indexing API. * See https://g.co/AppIndexing/AndroidStudio for more information. */ private GoogleApiClient client; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_viedo_app); but_start = (Button) findViewById(R.id.but_start); but_start.setOnClickListener(this); but_stop = (Button) findViewById(R.id.but_stop); but_stop.setOnClickListener(this); // but_send=(Button)findViewById(R.id.but_send); // but_send.setOnClickListener(this); sfv = (SurfaceView) findViewById(surfaceView); sfh = sfv.getHolder(); sfh.addCallback(this); } public void onClick(View v) { if (v.getId() == but_start.getId()) { camera.stopPreview(); camera.release(); camera = null; mediaRecorder = new MediaRecorder(); mediaRecorder.setPreviewDisplay(sfh.getSurface()); mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC); mediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA); mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4); mediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264); mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB); mediaRecorder.setVideoSize(320, 240); mediaRecorder.setVideoFrameRate(15); mediaRecorder.setOrientationHint(90); videoFile = new File(getExternalCacheDir(), "video.mp4"); mediaRecorder.setOutputFile(videoFile.getAbsolutePath()); try { mediaRecorder.prepare(); mediaRecorder.start(); ;new Thread(new Send(videoFile)).start(); } catch (IOException e) { e.printStackTrace(); } } else if (v.getId() == but_stop.getId()) { send.flag=false; Toast.makeText(viedoApp.this, "完成", Toast.LENGTH_SHORT).show(); mediaRecorder.stop(); mediaRecorder.release(); mediaRecorder = null; camera = Camera.open(); try { camera.setPreviewDisplay(sfh); camera.setDisplayOrientation(90); camera.startPreview(); } catch (IOException e) { e.printStackTrace(); } } } public void surfaceCreated(SurfaceHolder holder) { camera = Camera.open(); try { camera.setPreviewDisplay(holder); camera.setDisplayOrientation(90); camera.startPreview(); } catch (IOException e) { e.printStackTrace(); } } public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) { } public void surfaceDestroyed(SurfaceHolder holder) { camera.stopPreview(); camera.release(); camera = null; sfv = null; sfh = null; mediaRecorder = null; } } package com.example.lenovo.viedoapp; import android.util.Log; import java.io.DataOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.OutputStream; import java.net.Socket; /** Created by lenovo on 2017/4/16. */ class Send implements Runnable { Socket socket = null; OutputStream os = null; File file = null; FileInputStream fis = null; byte[] bytes; boolean flag = true; DataOutputStream dos=null; long d=0; Send(File file) { this.file = file; } String aa=new String("1"); public void connect() { try { socket = new Socket("192.168.1.106", 9991); os = socket.getOutputStream(); dos = new DataOutputStream(os); fis= new FileInputStream(file); } catch (IOException e) { } bytes = new byte[1024]; int length=0; try { while(flag) { synchronized (aa) { if ((length = fis.read(bytes, 0, bytes.length)) > 0) { dos.write(bytes, 0, length); dos.flush(); } } } } catch (IOException e) { e.printStackTrace(); } finally { try { dos.close(); } catch (IOException e) { e.printStackTrace(); } } } public void run() { connect(); file.delete(); } } 电脑端: import java.io.BufferedOutputStream; import java.io.DataInputStream; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStreamReader; import java.net.ServerSocket; import java.net.Socket; public class bbbb{ public static void main(String[] args){ try { ServerSocket ss=new ServerSocket(9991); Socket socket=ss.accept(); System.out.print("hh"); new Thread(new oo(socket)).start(); } catch (IOException e) { e.printStackTrace(); } } } class oo implements Runnable{ ; Socket socket; DataInputStream dis; FileOutputStream fos; oo(Socket socket){ this.socket=socket; } public void run() { try { dis=new DataInputStream(socket.getInputStream()); fos=new FileOutputStream(new File("C:/Users/lenovo/Desktop/test/video.mp4")); byte[] bytes=new byte[1024]; int length=0; while((length=dis.read(bytes,0,bytes.length))>0){ fos.write(bytes, 0, length); fos.flush(); try { new Thread().sleep(1); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } catch (IOException e) { e.printStackTrace(); } finally{ if(fos!=null){ try { fos.flush(); fos.close(); System.out.print("接收完毕!"); } catch (IOException e) { e.printStackTrace(); } } } } 实时传送到电脑端的视频无法播放,并且也变小了,但是如果我先录制好视频然后再点击发送,那么传送到电脑端的视频就很正常,麻烦哪一位能看懂的,抽几分钟帮我看一下,在下不胜感激

手机实时传输到电脑上的视频无法播放

手机端: package com.example.lenovo.viedoapp; import android.app.Activity; import android.hardware.Camera; import android.media.MediaRecorder; import android.os.Bundle; import android.view.SurfaceHolder; import android.view.SurfaceView; import android.view.View; import android.widget.Button; import android.widget.Toast; import com.google.android.gms.common.api.GoogleApiClient; import java.io.File; import java.io.IOException; import static com.example.lenovo.viedoapp.R.id.surfaceView; public class viedoApp extends Activity implements View.OnClickListener, SurfaceHolder.Callback { Button but_start; Button but_stop; Button but_send; SurfaceView sfv; SurfaceHolder sfh; Camera camera; MediaRecorder mediaRecorder; File videoFile; File aduioFile; /** * ATTENTION: This was auto-generated to implement the App Indexing API. * See https://g.co/AppIndexing/AndroidStudio for more information. */ private GoogleApiClient client; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_viedo_app); but_start = (Button) findViewById(R.id.but_start); but_start.setOnClickListener(this); but_stop = (Button) findViewById(R.id.but_stop); but_stop.setOnClickListener(this); // but_send=(Button)findViewById(R.id.but_send); // but_send.setOnClickListener(this); sfv = (SurfaceView) findViewById(surfaceView); sfh = sfv.getHolder(); sfh.addCallback(this); } public void onClick(View v) { if (v.getId() == but_start.getId()) { camera.stopPreview(); camera.release(); camera = null; mediaRecorder = new MediaRecorder(); mediaRecorder.setPreviewDisplay(sfh.getSurface()); mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC); mediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA); mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4); mediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264); mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB); mediaRecorder.setVideoSize(320, 240); mediaRecorder.setVideoFrameRate(15); mediaRecorder.setOrientationHint(90); videoFile = new File(getExternalCacheDir(), "video.mp4"); mediaRecorder.setOutputFile(videoFile.getAbsolutePath()); try { mediaRecorder.prepare(); mediaRecorder.start(); ;new Thread(new Send(videoFile)).start(); } catch (IOException e) { e.printStackTrace(); } } else if (v.getId() == but_stop.getId()) { send.flag=false; Toast.makeText(viedoApp.this, "完成", Toast.LENGTH_SHORT).show(); mediaRecorder.stop(); mediaRecorder.release(); mediaRecorder = null; camera = Camera.open(); try { camera.setPreviewDisplay(sfh); camera.setDisplayOrientation(90); camera.startPreview(); } catch (IOException e) { e.printStackTrace(); } } } public void surfaceCreated(SurfaceHolder holder) { camera = Camera.open(); try { camera.setPreviewDisplay(holder); camera.setDisplayOrientation(90); camera.startPreview(); } catch (IOException e) { e.printStackTrace(); } } public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) { } public void surfaceDestroyed(SurfaceHolder holder) { camera.stopPreview(); camera.release(); camera = null; sfv = null; sfh = null; mediaRecorder = null; } } package com.example.lenovo.viedoapp; import android.util.Log; import java.io.DataOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.OutputStream; import java.net.Socket; /** * Created by lenovo on 2017/4/16. */ class Send implements Runnable { Socket socket = null; OutputStream os = null; File file = null; FileInputStream fis = null; byte[] bytes; boolean flag = true; DataOutputStream dos=null; long d=0; Send(File file) { this.file = file; } String aa=new String("1"); public void connect() { try { socket = new Socket("192.168.1.106", 9991); os = socket.getOutputStream(); dos = new DataOutputStream(os); fis= new FileInputStream(file); } catch (IOException e) { } bytes = new byte[1024]; int length=0; try { while(flag) { synchronized (aa) { if ((length = fis.read(bytes, 0, bytes.length)) > 0) { dos.write(bytes, 0, length); dos.flush(); } } } } catch (IOException e) { e.printStackTrace(); } finally { try { dos.close(); } catch (IOException e) { e.printStackTrace(); } } } public void run() { connect(); file.delete(); } } 电脑端: import java.io.BufferedOutputStream; import java.io.DataInputStream; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStreamReader; import java.net.ServerSocket; import java.net.Socket; public class bbbb{ public static void main(String[] args){ try { ServerSocket ss=new ServerSocket(9991); Socket socket=ss.accept(); System.out.print("hh"); new Thread(new oo(socket)).start(); } catch (IOException e) { e.printStackTrace(); } } } class oo implements Runnable{ ; Socket socket; DataInputStream dis; FileOutputStream fos; oo(Socket socket){ this.socket=socket; } public void run() { try { dis=new DataInputStream(socket.getInputStream()); fos=new FileOutputStream(new File("C:/Users/lenovo/Desktop/test/video.mp4")); byte[] bytes=new byte[1024]; int length=0; while((length=dis.read(bytes,0,bytes.length))>0){ fos.write(bytes, 0, length); fos.flush(); try { new Thread().sleep(1); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } catch (IOException e) { e.printStackTrace(); } finally{ if(fos!=null){ try { fos.flush(); fos.close(); System.out.print("接收完毕!"); } catch (IOException e) { e.printStackTrace(); } } } } } 问题出在,虽然我能把手机实时采集到的视频传递给电脑,但是电脑接收以后的视频变小,并且无法播放,求求大神能帮忙一下!

使用MediaRecorder录制视频和实时传输

android开发,我要实现的是:在服务器端使用MediaRecorder录制mp4的视频, 同时要把数据流通过rtsp实时传输到客户端。因为MediaRecorder设置setOutputFile时, 只能选择文件或者localsocket的一种方式输出,请问要怎样才能把MediaRecorder输出的 数据流分成两份,一份用来录制视频,一份用来作流媒体的输入流?

wap手机网页录制语音和视频

用户打开一个wap手机网页,可进行语音录制60秒,视频录制10秒,两个单选块,录制后下载在一个文件夹里,URL入库,再调用出来进行播放。 不要用flash手机不支持,可参考html5+JS+jquery或java也行,只要能处理录制就行,php+mysql入库存取URL,考虑android与ios系统的兼容性使用。 不需要会员功能。这是我们系统的其中一个块。如果真不能在wap上做的话,考虑开发app也行,1K起,价格可以再谈。大家觉得可以实现吗?加,527,555,800,扣。

android 竖屏录制 电脑播放旋转了90度

对于横屏录的,在电脑上播放正常。 竖屏录制,手机上录制和播放正常,但把竖屏录制的视频拷到电脑上,播放时被逆时针旋转了90度。。。

安卓 如何实现内录,只录制手机播放的声音,而不录制话筒的声音

求大神指导,安卓 如何实现内录,只录制手机播放的声音,而不录制话筒的声音

opcv录制视频,播放速度太快

我想用一个摄像头加opencv实现监控,但是opencv录制好视频后, 用播放器打开播放速度特别快,跟开了两倍速一样,改怎么样去解决

Android视频录制怎样把录制的YUV420sp格式的原始视频保存下来?

最近在研究android的camera,通过使用mediarecorder已经实现了录制视频。目前想把录制的视频不通过自带的编码器进行编码,就是直接把录制时的视频数据保存 下来。从网上找的资料,知道可以使用setPreviewCallback的onPreviewFrame[]接口保存实时视频的每一帧,但是网上可行的代码不多,很多是转到RGB格式,或者保存为Bitmap的,都不太符合要求。有没有大神指导下,怎样解决这个问题,困扰好久了,头疼ing。

在html下如何实现摄像头录制的视频实时显示在当前页面中的另一个video中?

现在有个项目,在同html中有两个video,一个video打开摄像头录制视频,另一个video实时显示录制的视频,利用MediaRecoder、MediaSouce,求大神指导,代码如下: test.html ``` <!doctype html> <html> <head> <meta charset="UTF-8"> <title>摄像头调用</title> <style> #test { width: 200px; height: 200px; } </style> </head> <body> <video id="v"></video> <video id="test"></video> <button onclick="openCamera()">启用摄像头</button> <script> var video = document.querySelector('#v'); var testVideo = document.querySelector('#test'); var mimeCodec = 'video/mp4; codecs="avc1.42E01E, mp4a.40.2"'; var sourceBuffer; var mediaRecorder; var mediaStream; // 接收视频并展示 var mediaSource = new MediaSource(); testVideo.src = URL.createObjectURL(mediaSource); mediaSource.addEventListener('sourceopen', (event) => { console.log('mediaSource打开:', event); sourceBuffer = mediaSource.addSourceBuffer(mimeCodec); sourceBuffer.addEventListener('updateend', (event) => { console.log('sourceBuffer更新结束:', event); mediaSource.endOfStream(); testVideo.play(); }); }); function openCamera() { var constraints = { audio: true, video: { width: 100, height: 100 } }; navigator.mediaDevices.getUserMedia(constraints) .then(stream => { mediaStream = stream; console.log('mediaStream-', mediaStream); video.srcObject = mediaStream; video.onloadedmetadata = function (e) { console.log('视频可以使用', e); console.dir(video); video.play(); }; mediaRecorder = new MediaRecorder(mediaStream); mediaRecorder.ondataavailable = (event) => { event.data.arrayBuffer() .then(data => { sourceBuffer.appendBuffer(data); console.log('正确正确'); } ); } mediaRecorder.start(1000); }) .catch(err => { console.log(err.name + ": " + err.message); }); } </script> </body> </html> ``` 然后打开摄像头之后就会报如下的错误: ![图片说明](https://img-ask.csdn.net/upload/202004/23/1587623189_852450.png)

安卓前置摄像头录制视频后,保存的视频呈现镜像翻转

大佬们,今日小弟在实现安卓前置摄像头录制视频时,发现将录制后的视频保存后在本地播放时呈现镜像翻转,具体效果如下: ![图片说明](https://img-ask.csdn.net/upload/201906/25/1561451270_561379.png) 我使用的是Camera与MediaRecorder进行录制,关键的配置如下: ``` //初始化前置摄像头 mCamera = CameraHelper.getDefaultFrontFacingCameraInstance(); if (mCamera == null) { mCamera = CameraHelper.getDefaultBackFacingCameraInstance(); cameraId = Camera.CameraInfo.CAMERA_FACING_BACK; } mCamera.setDisplayOrientation(90); mMediaRecorder.setOrientationHint(270); ```

mp4v2 android 录制后的视频不能再ios上面播放

用android手机,pc电脑播放都没有问题,但是如果移到苹果手机上面就播放不了,这个什么问题呢,移到苹果手机肯定是正确的操作

使用mediaprojection录屏后,文件无法播放

情况是这样的:利用mediaprojection在我的小米PAD3(android7.0)上进行录屏测试,能够成功的录屏并保存下来,但是无法用自带的播放器播放,将视频文件导出到笔记本上还是无法播放。我将demo放在魅族手机(android5.1.0)上测试,不但成功的录下屏还能够播放出来。我怀疑是在录屏的时候有什么地方设置不对,不知道什么地方出现问题了,还请前辈们指点一二。

Android 竖屏录制 在PC端播放被逆时针旋转了90度

Android 竖屏录制 在PC端播放被逆时针旋转了90度 mCamera.setDisplayOrientation(90); mRecorder.setAudioSource(MediaRecorder.AudioSource.MIC); mRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA); mRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4); mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC); mRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264); if (mCameraPosition == 1) mRecorder.setOrientationHint(270);//前置摄像头视频旋转270度 else mRecorder.setOrientationHint(90);//后置摄像头转90 我是用的是源生的录制视频方式,他的方法里不管是旋转摄像头还是旋转录制好的视频,在移动端播放没有问题,但是在后台下载到PC端播放就一直是被逆时针旋转了90度。有大神遇到过这个问题吗,是怎么解决的?

Android怎么对录制好的视频进行压缩

做了一个类似微信的小视频录制,但是录制一个视频需要好几M,太大了,想要实现录制完视频进行压缩,想问问类似于微信的小视频是怎么进行处理的

从iphone设备录制和上传的视频将无法在iphone中播放

<div class="post-text" itemprop="text"> <p>I am facing an issue regarding : </p> <blockquote> <p>Recording video from iphone and uploading that video on my application(Develop in Wordpress Framework) then the video uploaded won't play in iphone devices.</p> </blockquote> <p>This issue occurs only when I "Record video from iphone and then uploading that video into the application".If I upload existing video from iphone device then video will be played and it's working fine. So please help to resolve this issue.I have used "FFmpeg library" to reduce the size of video.</p> <p>Below is the code which i have used to play video :</p> <pre><code>&lt;video preload="auto" width="320" height="240" controls=""&gt;&lt;source src="abc.mp4" type="video/mp4"&gt;Your browser does not support the video tag.&lt;/video&gt; </code></pre> <p>When i click on video to play it then video is not play and cross sign is shown over the play button.Below i have attached screenshot of it : <a href="https://i.stack.imgur.com/dxuux.jpg" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/dxuux.jpg" alt="enter image description here"></a></p> </div>

Android视频录制,需要支持背景音乐和环境声音都录进去

如题:MediaRecorder自定义视频录制,当我没有背景音乐的时候,录制下来没有问题。但当我录制的同时, 通过MediaPlayer播放mp3,录制下来的视频mp3的声音很大, 但是环境声音(比如人说话的声音)就很小。有什么好的解决方案吗?

微信公众号调用摄像头录制视频

微信公众号微信网页调用摄像头录制视频,不想用input方法。 找了很久找到了腾讯优图.活体检测示例(http://open.youtu.qq.com/h5_ctl/living_detect),这里面采用的是WeixinJSBridge.invoke,关键是它能限制录制时间 WeixinJSBridge.invoke('chooseVideo', { sourceType : sourceType, maxDuration : '8',//限制录制时间 camera : camera, isShowProgressTips : 0 }, function(res) { alert(JSON.stringify(res)); if (res.err_msg === "chooseVideo:ok") { window.localId = res.localId; callback(); } }); ,查了很久都没查到相关的api。新的api里面没有chooseVideo(说明文档:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141115)。 于是自己看腾讯优图活体检测示例的源码,写了一demo。 wx.config jsApiList有 chooseVideo 且checkJsApi 验证为true。 写在wx.ready里面,这些基本的都没问题, 但是安卓手机里测试报错: system:access_dened 苹果手机里面报:fail_no permission to execute 微信web开发工具报:fail, the permission value is offline verifying 感觉都是被拒绝了,是因为api被废弃的原因? 不应该吧? 腾讯优图都能用。难道限制了只是他能用?

怎样用简单方法录制电视机输出视频

以往使用录像机录制电视机输出视频,再用采集卡变成视频文件,有没有更简单方法?

android使用mediarecorder录制视频,socket传送数据,接收后的数据不能播放

我是使用了mediarecorder录制数据, mediarecorder.setOutputFile(sender.getFileDescriptor());在使用socket传输数据。接收数据后没有对数据进行回写,视频数据不能播放,有哪位大神能指点一下!怎么对收到的数据进行回写,变成能够播放的MP4视频文件。

Python可以这样学(第一季:Python内功修炼)

董付国系列教材《Python程序设计基础》、《Python程序设计(第2版)》、《Python可以这样学》配套视频,讲解Python 3.5.x和3.6.x语法、内置对象用法、选择与循环以及函数设计与使用、lambda表达式用法、字符串与正则表达式应用、面向对象编程、文本文件与二进制文件操作、目录操作与系统运维、异常处理结构。

获取Linux下Ftp目录树并逐步绑定到treeview

在linux下抓取目录树,双击后获取该节点子节点(逐步生成)。另外有两个类,一个是windows下的(一次性获取目录树),一个是linux下的(足部获取目录树)

NS网络模拟和协议仿真源代码

NS网络模拟和协议仿真源代码,包含代码说明及协议分析

简单的NS3网络模拟仿真(计算机网络作业)

简单的NS3网络模拟仿真,内附有PPT演示。论文评述。以及简单的安装教程。

手把手实现Java图书管理系统(附源码)

【超实用课程内容】 本课程演示的是一套基于Java的SSM框架实现的图书管理系统,主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的java人群。详细介绍了图书管理系统的实现,包括:环境搭建、系统业务、技术实现、项目运行、功能演示、系统扩展等,以通俗易懂的方式,手把手的带你从零开始运行本套图书管理系统,该项目附带全部源码可作为毕设使用。 【课程如何观看?】 PC端:https://edu.csdn.net/course/detail/27513 移动端:CSDN 学院APP(注意不是CSDN APP哦) 本课程为录播课,课程2年有效观看时长,大家可以抓紧时间学习后一起讨论哦~ 【学员专享增值服务】 源码开放 课件、课程案例代码完全开放给你,你可以根据所学知识,自行修改、优化

三个项目玩转深度学习(附1G源码)

从事大数据与人工智能开发与实践约十年,钱老师亲自见证了大数据行业的发展与人工智能的从冷到热。事实证明,计算机技术的发展,算力突破,海量数据,机器人技术等,开启了第四次工业革命的序章。深度学习图像分类一直是人工智能的经典任务,是智慧零售、安防、无人驾驶等机器视觉应用领域的核心技术之一,掌握图像分类技术是机器视觉学习的重中之重。针对现有线上学习的特点与实际需求,我们开发了人工智能案例实战系列课程。打造:以项目案例实践为驱动的课程学习方式,覆盖了智能零售,智慧交通等常见领域,通过基础学习、项目案例实践、社群答疑,三维立体的方式,打造最好的学习效果。

150讲轻松搞定Python网络爬虫

【为什么学爬虫?】 &nbsp; &nbsp; &nbsp; &nbsp;1、爬虫入手容易,但是深入较难,如何写出高效率的爬虫,如何写出灵活性高可扩展的爬虫都是一项技术活。另外在爬虫过程中,经常容易遇到被反爬虫,比如字体反爬、IP识别、验证码等,如何层层攻克难点拿到想要的数据,这门课程,你都能学到! &nbsp; &nbsp; &nbsp; &nbsp;2、如果是作为一个其他行业的开发者,比如app开发,web开发,学习爬虫能让你加强对技术的认知,能够开发出更加安全的软件和网站 【课程设计】 一个完整的爬虫程序,无论大小,总体来说可以分成三个步骤,分别是: 网络请求:模拟浏览器的行为从网上抓取数据。 数据解析:将请求下来的数据进行过滤,提取我们想要的数据。 数据存储:将提取到的数据存储到硬盘或者内存中。比如用mysql数据库或者redis等。 那么本课程也是按照这几个步骤循序渐进的进行讲解,带领学生完整的掌握每个步骤的技术。另外,因为爬虫的多样性,在爬取的过程中可能会发生被反爬、效率低下等。因此我们又增加了两个章节用来提高爬虫程序的灵活性,分别是: 爬虫进阶:包括IP代理,多线程爬虫,图形验证码识别、JS加密解密、动态网页爬虫、字体反爬识别等。 Scrapy和分布式爬虫:Scrapy框架、Scrapy-redis组件、分布式爬虫等。 通过爬虫进阶的知识点我们能应付大量的反爬网站,而Scrapy框架作为一个专业的爬虫框架,使用他可以快速提高我们编写爬虫程序的效率和速度。另外如果一台机器不能满足你的需求,我们可以用分布式爬虫让多台机器帮助你快速爬取数据。 &nbsp; 从基础爬虫到商业化应用爬虫,本套课程满足您的所有需求! 【课程服务】 专属付费社群+每周三讨论会+1v1答疑

cuda开发cutilDLL

包括cutil32.dll、cutil32D.dll、cutil32.lib、cutil32D.lib,以及附带的glew32.lib/freeglut.lib

深度学习原理+项目实战+算法详解+主流框架(套餐)

深度学习系列课程从深度学习基础知识点开始讲解一步步进入神经网络的世界再到卷积和递归神经网络,详解各大经典网络架构。实战部分选择当下最火爆深度学习框架PyTorch与Tensorflow/Keras,全程实战演示框架核心使用与建模方法。项目实战部分选择计算机视觉与自然语言处理领域经典项目,从零开始详解算法原理,debug模式逐行代码解读。适合准备就业和转行的同学们加入学习! 建议按照下列课程顺序来进行学习 (1)掌握深度学习必备经典网络架构 (2)深度框架实战方法 (3)计算机视觉与自然语言处理项目实战。(按照课程排列顺序即可)

Tensorflow与python3.7适配版本

tensorflow与python3.7匹配的最新库,更新了python3.7以后可以自行下载,或者去国外python的扩展包下载界面自行下载。

4小时玩转微信小程序——基础入门与微信支付实战

这是一个门针对零基础学员学习微信小程序开发的视频教学课程。课程采用腾讯官方文档作为教程的唯一技术资料来源。杜绝网络上质量良莠不齐的资料给学员学习带来的障碍。 视频课程按照开发工具的下载、安装、使用、程序结构、视图层、逻辑层、微信小程序等几个部分组织课程,详细讲解整个小程序的开发过程

专为程序员设计的数学课

<p> 限时福利限时福利,<span>15000+程序员的选择!</span> </p> <p> 购课后添加学习助手(微信号:csdn590),按提示消息领取编程大礼包!并获取讲师答疑服务! </p> <p> <br> </p> <p> 套餐中一共包含5门程序员必学的数学课程(共47讲) </p> <p> 课程1:《零基础入门微积分》 </p> <p> 课程2:《数理统计与概率论》 </p> <p> 课程3:《代码学习线性代数》 </p> <p> 课程4:《数据处理的最优化》 </p> <p> 课程5:《马尔可夫随机过程》 </p> <p> <br> </p> <p> 哪些人适合学习这门课程? </p> <p> 1)大学生,平时只学习了数学理论,并未接触如何应用数学解决编程问题; </p> <p> 2)对算法、数据结构掌握程度薄弱的人,数学可以让你更好的理解算法、数据结构原理及应用; </p> <p> 3)看不懂大牛代码设计思想的人,因为所有的程序设计底层逻辑都是数学; </p> <p> 4)想学习新技术,如:人工智能、机器学习、深度学习等,这门课程是你的必修课程; </p> <p> 5)想修炼更好的编程内功,在遇到问题时可以灵活的应用数学思维解决问题。 </p> <p> <br> </p> <p> 在这门「专为程序员设计的数学课」系列课中,我们保证你能收获到这些:<br> <br> <span> </span> </p> <p class="ql-long-24357476"> <span class="ql-author-24357476">①价值300元编程课程大礼包</span> </p> <p class="ql-long-24357476"> <span class="ql-author-24357476">②应用数学优化代码的实操方法</span> </p> <p class="ql-long-24357476"> <span class="ql-author-24357476">③数学理论在编程实战中的应用</span> </p> <p class="ql-long-24357476"> <span class="ql-author-24357476">④程序员必学的5大数学知识</span> </p> <p class="ql-long-24357476"> <span class="ql-author-24357476">⑤人工智能领域必修数学课</span> </p> <p> <br> 备注:此课程只讲程序员所需要的数学,即使你数学基础薄弱,也能听懂,只需要初中的数学知识就足矣。<br> <br> 如何听课? </p> <p> 1、登录CSDN学院 APP 在我的课程中进行学习; </p> <p> 2、登录CSDN学院官网。 </p> <p> <br> </p> <p> 购课后如何领取免费赠送的编程大礼包和加入答疑群? </p> <p> 购课后,添加助教微信:<span> csdn590</span>,按提示领取编程大礼包,或观看付费视频的第一节内容扫码进群答疑交流! </p> <p> <img src="https://img-bss.csdn.net/201912251155398753.jpg" alt=""> </p>

实现简单的文件系统

实验内容: 通过对具体的文件存储空间的管理、文件的物理结构、目录结构和文件操作的实现,加深对文件系统内部功能和实现过程的理解。 要求: 1.在内存中开辟一个虚拟磁盘空间作为文件存储器,在其上实现一个简

机器学习初学者必会的案例精讲

通过六个实际的编码项目,带领同学入门人工智能。这些项目涉及机器学习(回归,分类,聚类),深度学习(神经网络),底层数学算法,Weka数据挖掘,利用Git开源项目实战等。

四分之一悬架模型simulink.7z

首先建立了四分之一车辆悬架系统的数学模型,应用MATLAB/Simulink软件建立该系统的仿真模型,并输入路面激励为随机激励,控制不同的悬架刚度和阻尼,选用最优的参数得到车辆悬架的振动加速度变化曲线

MFC一站式终极全套课程包

该套餐共包含从C小白到C++到MFC的全部课程,整套学下来绝对成为一名C++大牛!!!

C++语言基础视频教程

C++语言基础视频培训课程:本课与主讲者在大学开出的程序设计课程直接对接,准确把握知识点,注重教学视频与实践体系的结合,帮助初学者有效学习。本教程详细介绍C++语言中的封装、数据隐藏、继承、多态的实现等入门知识;主要包括类的声明、对象定义、构造函数和析构函数、运算符重载、继承和派生、多态性实现等。 课程需要有C语言程序设计的基础(可以利用本人开出的《C语言与程序设计》系列课学习)。学习者能够通过实践的方式,学会利用C++语言解决问题,具备进一步学习利用C++开发应用程序的基础。

Java8零基础入门视频教程

这门课程基于主流的java8平台,由浅入深的详细讲解了java SE的开发技术,可以使java方向的入门学员,快速扎实的掌握java开发技术!

HoloLens2开发入门教程

本课程为HoloLens2开发入门教程,讲解部署开发环境,安装VS2019,Unity版本,Windows SDK,创建Unity项目,讲解如何使用MRTK,编辑器模拟手势交互,打包VS工程并编译部署应用到HoloLens上等。

C/C++学习指南全套教程

C/C++学习的全套教程,从基本语法,基本原理,到界面开发、网络开发、Linux开发、安全算法,应用尽用。由毕业于清华大学的业内人士执课,为C/C++编程爱好者的教程。

pokemmo的资源

pokemmo必须的4个rom 分别为绿宝石 火红 心金 黑白 还有汉化补丁 资源不错哦 记得下载

test_head.py

本文件主要是针对使用dlib的imglab标注工具标记的目标检测框和关键点检测而生成的xml文件, 转换为coco数据集格式.

Java面试史上最全的JAVA专业术语面试100问 (前1-50)

前言: 说在前面, 面试题是根据一些朋友去面试提供的,再就是从网上整理了一些。 先更新50道,下一波吧后面的也更出来。 求赞求关注!! 废话也不多说,现在就来看看有哪些面试题 1、面向对象的特点有哪些? 抽象、继承、封装、多态。 2、接口和抽象类有什么联系和区别? 3、重载和重写有什么区别? 4、java有哪些基本数据类型? 5、数组有没有length()方法?String有没有length()方法? 数组没有length()方法,它有length属性。 String有length()方法。 集合求长度用

2019 AI开发者大会

2019 AI开发者大会(AI ProCon 2019)是由中国IT社区CSDN主办的AI技术与产业年度盛会。多年经验淬炼,如今蓄势待发:2019年9月6-7日,大会将有近百位中美顶尖AI专家、知名企业代表以及千余名AI开发者齐聚北京,进行技术解读和产业论证。我们不空谈口号,只谈技术,诚挚邀请AI业内人士一起共铸人工智能新篇章!

linux“开发工具三剑客”速成攻略

工欲善其事,必先利其器。Vim+Git+Makefile是Linux环境下嵌入式开发常用的工具。本专题主要面向初次接触Linux的新手,熟练掌握工作中常用的工具,在以后的学习和工作中提高效率。

DirectX修复工具V4.0增强版

DirectX修复工具(DirectX Repair)是一款系统级工具软件,简便易用。本程序为绿色版,无需安装,可直接运行。 本程序的主要功能是检测当前系统的DirectX状态,如果发现异常则进行修复

20行代码教你用python给证件照换底色

20行代码教你用python给证件照换底色

2019 Python开发者日-培训

本次活动将秉承“只讲技术,拒绝空谈”的理念,邀请十余位身处一线的Python技术专家,重点围绕Web开发、自动化运维、数据分析、人工智能等技术模块,分享真实生产环境中使用Python应对IT挑战的真知灼见。此外,针对不同层次的开发者,大会还安排了深度培训实操环节,为开发者们带来更多深度实战的机会。

我以为我对Mysql事务很熟,直到我遇到了阿里面试官

太惨了,面试又被吊打

相关热词 c#中如何设置提交按钮 c#帮助怎么用 c# 读取合并单元格的值 c#带阻程序 c# 替换span内容 c# rpc c#控制台点阵字输出 c#do while循环 c#调用dll多线程 c#找出两个集合不同的
立即提问