视频开发徜过的那的坑

因为开发期间的任务重,一直都没有停下来记录些什么,那些徜过的坑坑,时为艰难,现在项目难点都已实现和优化了。

因此非常的有必要来缕一缕那些折磨着的我深坑。

首先说一下我的开发背景:

视频处理运用的是北京炫一下公司(秒拍)编译的ffmpeg库  封装的UilityAdapter.

在了解他的SDK前 后有注:

************************************************************************************

 在这个项目中主要是采用的是北京炫一下公司出品的VCamera,其自己编译了ffmpeg,生成.so文件,

* 然后在java层进行封装,其最主要的特点是提供了UtilityAdaptert 中的FFmpegRun 方法用于执行 ffmpeg 命令 ,

* 便于开发者自己编写ffmpeg命令行进行怄气处理。

但是在使用的过程中,遇到了以下几个问题:

1,该封装包在某些程度上缺乏灵活性,比如比特率在底层写死了,无法进行修改,利用其提供的合成视频函数,

视频分辨率无法改变,只能通过继承jar中的FFMpegUtils类,重写合成视频的函数。

2,利用ffmpeg命令行合成一个音频与一个视频,音频会覆盖视频中的原声道,音频PCM被替换,好像只有单声轨。

3,h264编码与aac编码合成无效

4,连接多个音频,采用命令行无效

5,延迟音频的声道时,只能合成一个音频到视频中,合成多个音频,只保留一个声轨。

************************************************************************************

先从最近一下坑点往前缕 :

坑点 一:   2,利用ffmpeg命令行合成一个音频与一个视频,音频会覆盖视频中的原声道,音频PCM被替换,好像只有单声轨。

是的,如果是正常用百度的一般的ffmpeg 命令去处理 

String cmd1 = "-i video_input.mp4 -i audio_Input.mp3 -vcodec copy -acodec copy output.mp4"; 

String cmd2 = "-i audio_Input.mp3 -i video_input.mp4 -filter_complex amerge -c:a libmp3lame -q:a 4 output.mp4"; 

等等 ,在电脑上其实的没有问题的。被移植到手机上。以上的命令就不起做用了。 也是很蒙逼的。再者看到上的注2.我一直以为这个sdk生成时候 就已经将部分的功能阉割掉了。于是很长一段时间想要放弃掉UilityAdapter 这个编译的PEG库。但又找不到更好的可以替代的。在寻找更合适的SDK期间 发现了一个 全型对  ffmpeg库移植到android 的项目:

https://github.com/WritingMinds/ffmpeg-android-java因为是全移植所以SDK包肯定会很大。一开始就没有什么好感。但还是偿试了一下 cmd1 cmd2。发现,这个库也是同样的结果。运行可以功能 但只能合成一个音频到视频中,合成多个音频,只保留一个声轨。将原音消去了。与在windows下执行效果并不相同。这个时候我其实是快已经放弃了给视频+背景音(不消原音)的需求。 接下来我比较了同的的peg命令在ffmpeg-android-java 与我项目中UilityAdapter 库的运行速度。 得到的结果就是UilityAdapter库的速率上比ffmpeg-android-java 快两倍多。但ffmpeg-android-java库的很明显的优点是   它全程监控了ffmpeg running.  可以看到它的速率 及 进度。

更令人愉快的是 如果是运行失败了,这个库可以看到peg命令运行失败的原因。

接下来任务完成不了。又没有别的事,于是goole去看看这个世界有没有人与我有过同样的烦恼。于是https://superuser.com/questions/712862/ffmpeg-add-background-audio-to-video-but-not-completely-muting-the-original-audi/1247848#肯定是有人和我一模一样的烦恼。哈哈,但是好像他的烦恼并没有因为别人的回答解决他的问题。但回答楼层里我看到一个看上去很靠谱的命令。

ffmpeg -i audio.mp3 -i video.mp4 -filter_complex \"[0:a][1:a]amerge,pan=stereo:c0-map 1:v -map "[out]" -c:v copy -c:a libfdk_aac -shortest output.mp4 

我想这种电脑就不用试了。直接试ffmpeg-android-java 结果是运行通不过的。报的是找不到 filter ""  因为这个错了修改这个命令应该过半百次再运行。结果都是直接不能运行。也积累了无数发错误原因。无奈之下 ,将以上命令的所有分号全部去掉 再运行这时候也是运行通不过的报错点在-c:a libfdk_aac  于是直接将这个直接干掉再次运行。 这个时候可以哈哈了。心里一万的草尼马  那是一种喜悦。居然可以了。这真他妈的是一种意外。完全不明真相。却得到了想要的结果。

不急,这时我将同样的命令用UilityAdapter库执行。Ok.也是没有问题的。此时我才知道我已经解决了UilityAdapter上传者的其中的一个疑惑。但是都忘记在那个地址看到那文章了。同时希望那个上传者可以看到我写下的这坑录。


坑点 二: 后续     提前总结一下:ffmpeg命令的移植后。很多的命令与电脑都 不太相同了 特别是一些复杂的处理。 接下来的坑点二也同样的证实了我个人的观点。但由于个人对C++不是很懂。也不知道为什么。有大神看到又知道原因的可以留言拨开我心中的那层迷雾!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,607评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,047评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,496评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,405评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,400评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,479评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,883评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,535评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,743评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,544评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,612评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,309评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,881评论 3 306
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,891评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,136评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,783评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,316评论 2 342

推荐阅读更多精彩内容