视频H264编码与解码
1、利用摄像头录制视频。 - 系统的录制或者界面定制(ACMediaFrame Demo)
1.1、示例代码
UIImagePickerController *picker = [[UIImagePickerController alloc] init];
picker.delegate = self;
if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) {
NSArray * mediaTypes =[UIImagePickerController availableMediaTypesForSourceType:UIImagePickerControllerSourceTypeCamera];
picker.sourceType = UIImagePickerControllerSourceTypeCamera;
picker.mediaTypes = mediaTypes;
picker.cameraCaptureMode = UIImagePickerControllerCameraCaptureModeVideo;
picker.videoQuality = UIImagePickerControllerQualityTypeMedium; //录像质量
picker.videoMaximumDuration = 600.0f; //录像最长时间
} else {
[UIAlertController showAlertWithTitle:@"当前设备不支持录像" message:nil actionTitles:@[@"确定"] cancelTitle:nil style:UIAlertControllerStyleAlert completion:nil];
}
[self presentViewController:picker animated:YES completion:nil];
2、保存本地。 - 录制完成,视频保存本地沙盒以及视频保存相簿(有相关的demo)
2.1、将视频路径存于本地沙盒
BOOL success = [[NSFileManager defaultManager] fileExistsAtPath:filePath];
[videoData writeToFile:filePath atomically:YES];
2.2、将视频存于设备相簿
视频 保存相簿:UISaveVideoAtPathToSavedPhotosAlbum
图片 保存相簿:UIImageWriteToSavedPhotosAlbum
3、从本地获取视频,进行播放。- 打开本地视频,进行播放(有demo)
TZImagePickerController多选择图片或者视频进行播放
4、自定义录制视频进行编码,重新保存。打开本地视频,进行编码。-(VTEncodeDemo demo进行)
4.1、在视频录制的时候进行视频的编码。
视频编码地址: https://github.com/shawn7com/VTEncodeDemo
4.2、将视频路径进行编码处理。(h264编码方式)
参考链接:
http://www.cnblogs.com/haibindev/archive/2011/11/10/2244442.html |采集音频和摄像头视频并实时H264编码及AAC编码
https://blog.csdn.net/keep_moving31038/article/details/77685609 | iOS 音视频采集与编码
4.3、播放编码之后的视频/存于本地
打开本地视频
5、对编码的视频,打开进行播放。-重复步骤 3。
视频解码播放:https://github.com/stevenyao/iOSHardwareDecoder本地格式 h264播放