转自:http://blog.csdn.net/caoshangpa/article/details/51166109

一、准备工作

1.下载并安装优酷客户端

2.下载ffmpeg可执行文件,解压可用,不需要下载源码自己编译。

ffmpeg可执行文件下载链接:http://download.csdn.net/detail/caoshangpa/9492758

二、用优酷客户端下载视频并转码

用优酷客户端下载一个视频,然后转码成mp4格式,优酷客户端自带转码功能,如下图所示。

点击“转码”按钮,弹出“新建转码”对话框,如下图所示,在该对话框中可以进行视频格式和路径设置。上图中我下载的虽然是mp4格式的视频,但是默认分辨率不符合我的要求,所以也要进行转码。

设置完成后,点击“开始转码”按钮,转码开始,如下图所示。

转码完成如下图所示。

三、用ffmpeg提取H264裸流

1.将转码后的视频拷贝到ffmpeg的bin目录中,并重命名为800_600.mp4,名字不要用中文,如下图所示。

2.打开命令提示符窗口,cd到E:\ffmpeg\bin,然后调用ffmpeg.exe开始提取裸流,如下图所示。

裸流提取指令说明:

命令行:
ffmpeg -i 800_600.mp4 -codec copy -bsf: h264_mp4toannexb -f h264 800_600.264
说明:
 -i 800_600.mp4:是输入的MP4文件
-codec copy:从MP4封装中进行拷贝
-bsf: h264_mp4toannexb:从MP4拷贝到annexB封装
-f h264:采用h.264格式
800_600.264:输出的文件名称

优酷转码的mp4格式视频之所以可以提取H264裸流,是因为mp4只是一个容器,里面封装的视频的编码格式可以是MPEG-4或者H264,而优酷转码的mp4视频刚好是用H264进行编码的。

提取成功后,E:\ffmpeg\bin目录下多出相应的.264文件,如下图所示。

3.用UltralEdit或者其他的文本编辑器打开800_600.264文件,如下图所示。

熟悉H264文件格式的童鞋,根据红框中的00 00 00 01分隔符以及67和68,就能判断出裸流提取成功。如果要测试该裸流能否播放,直接拖到优酷客户端即可。

我提取的裸流下载链接:http://download.csdn.net/detail/caoshangpa/9492803

最新文章

  1. Mybatis整合Spring
  2. jQuery 表格删除,添加行
  3. swoole 安装
  4. 6/6 Sprint2 看板和燃尽图
  5. APP主流UI框架结构
  6. servlet 项目
  7. [Buffalo]ASP.NET MVC路由映射
  8. 在代码中创建Drawable资源
  9. Synopsys逻辑工艺库
  10. virtual dom的实践
  11. 201521123076《java程序设计》第四次总结
  12. python web框架篇:views视图函数
  13. dcoker实战,使用docker部署NodeJs应用
  14. Spring Boot 2.2 增加了一个新功能,启动飞起~
  15. 毕业设计——Django表单重复提交问题
  16. 对于Vue的v-if 和 v-showi
  17. 动手创建 SSD 目标检测框架
  18. 高速公路 [HAOI2012] [线段树]
  19. 发布npm
  20. 列表的pop()和路径拼接问题

热门文章

  1. 【GCD】AtCoder Grand Contest 018 A - Getting Difference
  2. 【Java】【高精度】【递推】UVA - 11375 - Matches
  3. lightoj 1052 - String Growth & uva 12045 - Fun with Strings 矩阵
  4. iOS 11 安全区域适配
  5. 如何在form初始化时自动隐藏FOLDER列
  6. 【java】【多线程】等待开启的多个线程都执行完成,再做事情,怎么实现
  7. 【LaTeX】E喵的LaTeX新手入门教程(1)准备篇
  8. OpenWRT DNS无法解析WAN连接的内网服务器域名
  9. 各种软核处理器二进制文件FPGA初始化文件生成程序
  10. 提升JavaScript递归效率:Memoization技术详解[转载]