ngswfx

ngswfx

2个粉丝

55

问答

1

专栏

40

资料

ngswfx  发布于  2016-08-25 02:15:35
采纳率 0%
55个问答
2467

jpg图片转264后,显示背景logo,无视频信号,网络断开

 
本帖最后由 ngswfx 于 2016-8-25 02:30 编辑

视频监控中,经常需要显示logo,无视频信号,网络掉线等信息,让分割窗体内直接显示出相应状态。

//通常你可以把海思解码器的jpg以及264方式都弄通,然后合理切换,即可完成jpg的显示以及264的解码显示。但这么做稍微麻烦些,有些时候直接使用264的logo数据,可以减少相关代码量,降低程序复杂度。

直接使用ffmpeg完成这一系列转换,只需要有相应的jpg文件即可。可以通过photoshop做。

//当然你也可以利用海思的硬件解码器完成相关转换,就是需要折腾大量代码。不过也能实现。

/////////////////////////主要ffmpeg流程代码。在ubuntu 64位机器上实际使用。我这里的例子,logo时352*288的logo图片,最后产生的264文件6K左右,比较合适。
rm ./TV_BK.yuv
ffmpeg -y -s 352x288 -i TV_BK.jpg TV_BK.yuv                      ///将352×288 cif大小的背景logo转换成yuv
rm ./TV_BK_.yuv
cp TV_BK.yuv TV_BK_.yuv
cat TV_BK_.yuv >> TV_BK.yuv                                                     //把一个yuv重复拷贝一次,为2帧

rm ./TV_BK.h264
ffmpeg -f rawvideo -pix_fmt yuv420p -s:v 352x288 -r 2 -i ./TV_BK.yuv -c:v libx264 ./TV_BK.h264             //把这2帧数据压缩成一个264文件。

///之所以弄2帧,是因为264文件如果只有1帧是解不出来的,当然估计也可以在后面放一个符合海思要求的结尾帧。


//有了264文件,使用时,程序装载到内存,全局变量,哪个窗体需要显示logo,就往264解码器里面送数据即可(注意for循环多送几次,例如10次)。




////////////////////////ffmpeg的安装方法,在ubuntu上直接用apt-get方法安装即可,网上有大量教程。自己搜吧。


我来回答
回答0个
时间排序
认可量排序
易百纳技术社区暂无数据
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
+ 添加网盘链接/附件

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
相关问答
无更多相似问答 去提问
举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

易百纳技术社区