请教一下当前大厂短视频 app 是用 ffmpeg 在安卓转码的么?

2020-08-07 11:52:41 +08:00
 fyooo
没有做过这块,想学习一下,看官方文档是 MediaCodec,https://developer.android.com/reference/android/media/MediaCodec

但是后台转码貌似都是 ffmpeg 的天下,然后发现安卓也可以搞 ffmpeg https://github.com/tanersener/mobile-ffmpeg

有大佬知道当前业界的方案么?
12904 次点击
所在节点    Android
28 条回复
lwlizhe
2020-08-07 16:55:44 +08:00
楼主之所以这个疑惑,我感觉是跟我一样刚入门的原因……

raw 在音视频中,跟 mp4,3gp 那些一样,是一个容器封装格式,H264,这种才是编码格式,YUV 这个是视频源数据格式,非常之巨大,所以需要进行编码,后面再封装为 raw,3gp,mp4 这种文件,这样才是我们最常见到的文件

回规正题

感觉抖音 app 应该是直接拿到 YUV 源数据,并对其直接编码,封装,丢给服务端,不需要转码
blueaurora
2020-08-07 21:54:16 +08:00
app 把视频上传时,就需要压缩了,否则一个视频那么大哪受得了。 其实抖音开始上传的视频分辨率都不高的,这里有一个在分辨率不高的情况下,如何让视频更清晰的问题。相机采集的数据就是 YUV 的,然后本地加滤镜之后,剪裁大小、并生成基于 h264 的 mp4, 再把 mp4 用 ffmpeg 压缩一下,上传给后端
fansangg
2020-08-08 02:10:58 +08:00
mediacodec
chihiro2014
2020-08-08 11:52:46 +08:00
先转码一次,不然的话对面服务器带宽撑不住的。如果全民这么搞
yhx5768
2020-08-08 12:30:06 +08:00
解压下 apk 看下 lib 里有没有 ffmpeg 相关 so 就知道了
janus77
2020-08-08 12:53:08 +08:00
如果你是上传视频的话,那拍摄本身就包含了限定格式,这个可以当成广义上的转码
如果你是下载视频播放,那么一般是在服务器做的,毕竟有缓存可以做到几乎不占用带宽。
直播推拉流的话,一般是服务端来做
wxjer
2020-08-14 15:22:45 +08:00
还可以试试 RxFFmpeg
DingSoung
2021-02-08 11:14:30 +08:00
某产品做摄像机是用的 Ffmpeg

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/696411

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX