yuino

yuino

1个粉丝

6

问答

0

专栏

0

资料

yuino  发布于  2015-01-27 17:52:32
采纳率 0%
6个问答
5327

hi3518e两条线程同时编码音频和视频,如何存储为一个avi文件(′・_・`)

 
本帖最后由 yuino 于 2015-1-28 10:34 编辑

hi3518e同时开两个线程分别去编码音频和视频,如何存储为一个avi文件(′・_・`)

有没有什么建议吗(′・_・`)

先谢谢大家了
我来回答
回答7个
时间排序
认可量排序

old_ghost_he

0个粉丝

2

问答

0

专栏

1

资料

old_ghost_he 2016-07-16 10:40:26
认可0
楼主问题解决了吗?我现在也要同时编码音视频。没有参考啊!

ngswfx

2个粉丝

55

问答

1

专栏

40

资料

ngswfx 2016-07-16 18:06:25
认可0
本帖最后由 ngswfx 于 2016-7-18 08:25 编辑

[quote][url=forum.php?mod=redirect&goto=findpost&pid=34096&ptid=5256]old_ghost_he 发表于 2016-7-16 10:40[/url]
楼主问题解决了吗?我现在也要同时编码音视频。没有参考啊![/quote]

我感觉编码端写文件应该不难,当然指的是写数据本身。文件数量大了,满盘循环那是另外一个层面了。

///因为在我看来,编码过程中,音频视频的内部缓冲有限,即便没有pts,也不会差异太大,而且实际上,内部应该都有pts时间戳,直接按照AVI格式写文件即可,如果没有就需要注意了,就需要特殊处理,从这里就需要保证音视频同步的问题。

/////写avi的时候,视频部分以及音频部分把格式弄对就行了,当然如果解码端也自己做,由于AVI仅仅是容器,你也可以自己造格式(帧类型自己随便定义,播放时自己识别),如果想要通用播放器能播放,就不能随便造了。

//另外还是缓冲问题,如果我来弄这个写文件,肯定要弄写之前的缓冲,否则,对一个通道而言,每秒钟写文件次数在30次左右,太过频繁。需要建立一个缓冲,让它1秒钟或者3秒钟写入一次。这个时间主要看用户允许视频丢失最小时间,例如突然停电了。当然,这同样需要关注一个问题,linux底层在写sata硬盘时或者写入SD卡时,是否已经有了类似的机制,如果有了,就不需要这么做了。windows倒是必须弄缓冲再写,否则会导致系统资源异常,效率低下。弄不好会把硬盘弄坏。工作过于频繁。


测试:通过通用播放器,或者自己写的播放器,主要还是针对同步测试。拍一下桌子,拍下瞬间能听到声音就行。

fancong

0个粉丝

15

问答

0

专栏

2

资料

fancong 2016-07-18 08:04:30
认可0
对于AVI的音视频写入,一般都有相关的库,可以直接写。

fancong

0个粉丝

15

问答

0

专栏

2

资料

fancong 2016-07-18 08:05:08
认可0
记得,要注意音视频的同步问题。

win992590594

0个粉丝

6

问答

0

专栏

0

资料

win992590594 2016-11-30 22:24:42
认可0
有人解决了吗???能不能给个思路啊

yang1372073

0个粉丝

19

问答

0

专栏

2

资料

yang1372073 2016-12-01 21:11:42
认可0
可以用共享内存,把两个线程的音视频数据写到一个buffer中,再从这个buffer拿数据去按相应标准封装

zjx94

0个粉丝

7

问答

0

专栏

0

资料

zjx94 2017-04-11 10:00:44
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=34112&ptid=5256]ngswfx 发表于 2016-7-16 18:06[/url]
我感觉编码端写文件应该不难,当然指的是写数据本身。文件数量大了,满盘循环那是另外一个层面了。

...[/quote]

视频采集的速度好快的,我使用循环队列,只要写的地方卡一下就容易满队列。请问这种应该怎么解决呢,几百的队长都不够用。
(我写文件时容易卡着几十毫秒,甚至更长,就是卡顿在av_interleaved_write_frame或fwrite,。音视频如果我出队写的速度跟不上入队,就会满队列)
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

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

Markdown 语法

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

举报类型

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

详细说明

易百纳技术社区