1
learningman 2020-08-07 12:25:27 +08:00
转码不是放在本地的吧。。。
|
2
wysnylc 2020-08-07 12:26:14 +08:00
阿里媒体处理,自己转码是不是闲后期升级不够麻烦呀
|
3
mikumkf 2020-08-07 12:46:51 +08:00
不是
|
4
fyooo OP @learningman 理论上手机拍的视频 raw 体积很大,需要先转码一次再发送到后台吧?
|
5
blueaurora 2020-08-07 14:17:05 +08:00 1
是的,ffmpeg 手机上可以弄到几 M,手机上压缩大小都是用它。早期斗音也是这么干的,但快手对 ffmpeg 工程的积累很深,他们不是直接用 ffmpeg 的
|
6
blueaurora 2020-08-07 14:18:09 +08:00 1
android 手机上,把 ffmpeg 弄成 so, 然后在 android 里,用 java 调用 ffmpeg 命令
|
7
hoyixi 2020-08-07 14:21:33 +08:00
服务器端处理,比如国内肯定有敏感过滤,然后各种存储策略,比如分片,比如音频视频分离
|
8
learningman 2020-08-07 14:23:09 +08:00
@fyooo 手机能拍 RAW 吗。。。只有那些顶级电影机才能拍 RAW 的,手机本身已经是输出 h264,h265
|
9
takemeaway 2020-08-07 14:28:31 +08:00 1
大部分都是,FFmpeg 是成熟的转码和视频处理插件。
|
10
zhiyzellda 2020-08-07 14:34:58 +08:00 via Android
@fyooo
没看懂想要问什么。。。 手机拍的视频如果转码了就会降低视频质量,如果不想降低质量,那转码后的视频只会比转码前的视频更大。转码一次再发到后台,后台负担更大吧。 我个人很讨厌把视频压缩得不能看的行为。 应该是原画传到服务器端,服务器端进行转码,例如原画是 1080P,服务器可以压缩它变成 480P 或者 240P 。播放的时候你需要 480P,服务器就把转码完成的 480P 发给你。 |
11
wanacry 2020-08-07 14:36:35 +08:00
国内商业带宽太贵
|
12
hahahahaha234 2020-08-07 14:47:43 +08:00
@learningman 当年我的 htc m10 可以拍 RAW 照片哈
|
13
learningman 2020-08-07 16:17:14 +08:00
@hahahahaha234 RAW 照片和视频不是一个概念。。。
|
14
em70 2020-08-07 16:21:50 +08:00
涉及多媒体数据处理几乎全是 ffmpeg,压制一定放云端,用户可以接受异步,前端技术难度大,体验也不好
|
16
lwlizhe 2020-08-07 16:32:36 +08:00
额,我是刚刚学音视频,可能理解不到位哈……想问各位大佬
这种情况下为啥需要转码呢,客户端直接编码扔给服务端不就行了么………… 我个人理解中,转码的作用是为了适应不同情况下做的操作,所以应该是服务端去做的事,转好码以后分发给需要这个码的客户端,然后客户端再解码播放出来 |
19
lwlizhe 2020-08-07 16:50:55 +08:00
@tusik 噢噢噢噢噢噢,我看到楼主的回复了……突然明白了楼主为啥有这个疑惑……
raw 应该是容器格式吧……所以如果直接传输一个已经经过了编码封装的文件,那确实需要解封装,解码,转码,编码,封装这一套…… 不过我学到的那部分好像是直接拿到 YUV 源数据,并对其进行编码封装……所以才没楼主这个疑惑点 |
20
fgodt 2020-08-07 16:53:08 +08:00 1
短视频 app 都是直接录制成合适的码率了,没有所谓的转码。但是这里面会用到 ffmpeg 和 mediacodec/videotoolbox opengles
大概是流程 camera->perview->opengles->mediacodec/videotoolbox->ffmpeg->video |
21
lwlizhe 2020-08-07 16:55:44 +08:00 2
楼主之所以这个疑惑,我感觉是跟我一样刚入门的原因……
raw 在音视频中,跟 mp4,3gp 那些一样,是一个容器封装格式,H264,这种才是编码格式,YUV 这个是视频源数据格式,非常之巨大,所以需要进行编码,后面再封装为 raw,3gp,mp4 这种文件,这样才是我们最常见到的文件 回规正题 感觉抖音 app 应该是直接拿到 YUV 源数据,并对其直接编码,封装,丢给服务端,不需要转码 |
22
blueaurora 2020-08-07 21:54:16 +08:00 1
app 把视频上传时,就需要压缩了,否则一个视频那么大哪受得了。 其实抖音开始上传的视频分辨率都不高的,这里有一个在分辨率不高的情况下,如何让视频更清晰的问题。相机采集的数据就是 YUV 的,然后本地加滤镜之后,剪裁大小、并生成基于 h264 的 mp4, 再把 mp4 用 ffmpeg 压缩一下,上传给后端
|
23
fansangg 2020-08-08 02:10:58 +08:00
mediacodec
|
24
chihiro2014 2020-08-08 11:52:46 +08:00
先转码一次,不然的话对面服务器带宽撑不住的。如果全民这么搞
|
25
yhx5768 2020-08-08 12:30:06 +08:00
解压下 apk 看下 lib 里有没有 ffmpeg 相关 so 就知道了
|
26
janus77 2020-08-08 12:53:08 +08:00
如果你是上传视频的话,那拍摄本身就包含了限定格式,这个可以当成广义上的转码
如果你是下载视频播放,那么一般是在服务器做的,毕竟有缓存可以做到几乎不占用带宽。 直播推拉流的话,一般是服务端来做 |
27
wxjer 2020-08-14 15:22:45 +08:00
还可以试试 RxFFmpeg
|
28
DingSoung 2021-02-08 11:14:30 +08:00 via iPhone
某产品做摄像机是用的 Ffmpeg
|