transcode

Serverless 音视频转码 —— 芒果 TV 落地实践(下)

ε祈祈猫儿з 提交于 2021-02-04 02:25:51
在 《Serverless 音视频转码——芒果 TV 落地实践(上)》 中,我们回顾了芒果 TV 吴坚强老师在 techo 大会的精彩分享,芒果TV 音视频编解码业务团队通过使用腾讯云 Serverless 音视频转码服务,成本降低 45% 以上,引起大家的广泛关注,小伙伴们都跃跃欲试! 本文我们将带领大家一起使用云函数 + COS + CLS + FFmpeg 构建高可用、并行处理、实时日志、高度自定义的视频转码服务。我们在此提供了两种方案,您可以直接用转码应用,一键部署,也可以通过 用函数的长运行方案来自己处理。 实现方案 方案一: 使用官网的流式音视频转码,一键部署。查看 详情 方案二: 利用云函数的异步执行机制,自主研发。查看 详情 流式音视频转码方案 通过云函数创建 FFmpeg 任务进程,云函数进程与 FFmpeg 任务进程通过 pipe 和 FIFO 的方式进行数据传输。云函数进程中的两个任务线程分别接收 FFmpeg 任务进程向函数进程输出的 FFmpeg 日志流与转码后的文件流,从而实现流式读写 COS 和实时日志输出的转码应用场景。 方案优势 流式转码 采用流式拉取源视频文件,流式上传转码文件的工作方式,突破了本地存储的限制,且不需要额外部署 CFS 等产品。 实时日志 视频转码过程中,可通过 CLS 日志实时查看转码进度。同时支持输出 FFmpeg

ffmpeg 学习笔记

扶醉桌前 提交于 2021-01-30 14:52:05
ffmpeg -threads 8 -i 997.mp4 -y -c:v libx264 -c:a copy -f hls -g 60 -hls_time 2 hls_list_size 0 -hls_segment_filename test/out-%08d.ts test/out.m3u8 ffmpeg -re -i 997.mp4 -c copy -f hls -bsf:v libx264 test/out-%08d.ts test/out.m3u8 "ffmpeg","-threads","4","-i","/tmp/video/workdir/rBL7YF9hn_CEOIUNAAAAAIn7Jxk745/marker/rBL7YF9hn_CEOIUNAAAAAIn7Jxk745.mp4","-c:v","libx264","-c:a","copy","-f","hls","-g","60","-hls_time","2","-hls_list_size","0","-hls_key_info_file","/tmp/video/workdir/rBL7YF9hn_CEOIUNAAAAAIn7Jxk745/marker/keys/encrypt.keyinfo","-hls_segment_filename","/tmp/video/workdir/rBL7YF9hn

windows下java,C语言,C++学习环境搭建(cygwin)

妖精的绣舞 提交于 2020-05-02 08:34:41
OS:win7 64位 一 安装cygwin  。官网http://www.cygwin.com/下载setup-x86_64.exe  。下载cygwin安装包,考虑到速度问题,可考虑先下载后安装。  。国内可切换清华大学安装源(速度很快):https://mirrors.tuna.tsinghua.edu.cn/cygwin/  。下载基本安装包,但记得把wget勾选。  。安装完毕后确认wget软件包是否被安装,已被安装则可跳过下一步。  。安装wget   打开cygwin安装包找到 wget-1.19-1.tar.xz,并复制到home目录下。运行以下命令。    $xz -d wget-1.19-1.tar    $cp ./usr/bin/wget /usr/bin  。安装apt-cyg   $wget https://raw.githubusercontent.com/transcode-open/apt-cyg/master/apt-cyg   $chmod +x apt-cyg   $mv apt-cyg /usr/local/bin/   $apt-cyg -wcyg https://raw.githubusercontent.com/transcode-open/apt-cyg/master/apt-cygm ftp://ftp.iij.ad.jp/pub

mediaCodec android- How to do decoding encoding from buffer to buffer

强颜欢笑 提交于 2020-01-05 08:32:55
问题 I want to decode and then encode a video file. The example I found on bigflakes is using the Inputsurface for decoding. I want to directly provide the decoded data to the encoder as input. I am getting error that the output buffer from decoder is null, when I provide that as input to the encoder. Any suggestions ? Thanks 来源: https://stackoverflow.com/questions/25901345/mediacodec-android-how-to-do-decoding-encoding-from-buffer-to-buffer

Programmatically convert a video to FLV [closed]

南楼画角 提交于 2019-12-29 14:18:14
问题 It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center. Closed 7 years ago . i am currently working on a web application that needs to accept video uploaded by users in any format (.avi, .mov, etc.) and convert them to flv for playing in a flash-based player. Since the site is OpenCms

Xerces XMLString::transcode null/empty reply

心不动则不痛 提交于 2019-12-24 05:04:21
问题 Xerces transcode is returning an empty string. I think it is related to locale issues, but i'm stuck. I have this simple program: #include <xercesc/util/PlatformUtils.hpp> #include <xercesc/util/XMLString.hpp> #include <xercesc/dom/DOM.hpp> #include <xercesc/util/XMLString.hpp> #include <xercesc/framework/MemBufInputSource.hpp> #include <xercesc/dom/DOMException.hpp> #include <string> #include <stdio.h> XERCES_CPP_NAMESPACE_USE using namespace std; int main(int argc, char* argv[]) { string a

an error happened: spawn ENOENT, node.js & FFmpeg

北城余情 提交于 2019-12-22 10:54:43
问题 I am having a nightmare of a time trying figure this out. I asked a question about this yesterday but only got so far, long story short, I cannot for the life of me figure this out. All i want to do, is transcode a .avi file to a .flv file using FFmpeg in a node.js app, this works just using the command line for FFmpeg but not in the app, here's the code: var ffmpeg = require('fluent-ffmpeg'); //make sure you set the correct path to your video file var proc = new ffmpeg({ source: 'C:/Users

ffmpeg gives an error Option movflags not found

自闭症网瘾萝莉.ら 提交于 2019-12-11 07:51:25
问题 In Ubuntu 12.04 LTS I have used -movflags frag_keyframe+empty_moov in my ffmpeg command: ffmpeg -i http://filesbe.vocativ.internal.net/03/44/SN/q1/xg/xl/0344SNq1xgxl.flv \ -crf 32.0 -g 250 -keyint_min 25 -aspect 4:3 -movflags frag_keyframe -vcodec \ libx264 -acodec aac -strict experimental -ar 44100 -ac 2 -b:a 128k -map 0:0 \ -map 0:1 -f flv -y test.flv ffmpeg version 0.8.6-4:0.8.6-0ubuntu0.12.04.1, Copyright (c) 2000-2013 the Libav developers built on Apr 2 2013 17:02:36 with gcc 4.6.3 ***

ffmpeg : convert FLAC to mp3 and add album art in one step

这一生的挚爱 提交于 2019-12-08 13:02:07
问题 I convert FLAC to MP3 using ffmpeg -i x.flac -f mp3 -vn -b:a 64K x.mp3 and I add album art using ffmpeg -i x.mp3 -i x.jpg -map 0:0 -map 1:0 -c copy -id3v2_version 3 -metadata:s:v title="Album cover" -metadata:s:v comment="Cover (Front)" xx.mp3 Is it possible to do it in one step? Because I want to do it during "live" transcoding. 回答1: You can use a pipe instead of using a temporary file. You just have to explicitly specify the format of input/output. Example: ffmpeg -i input.mp3 -f mp3 - |

CloudTorrent+Resilio+Plex 搭建

故事扮演 提交于 2019-12-06 12:53:37
version: '3.4' services: CloudTorrent: image: jpillora/cloud-torrent container_name: CloudTorrent ports: - "7777:3000" volumes: - D:/同步:/downloads Resilio: image: resilio/sync container_name: Resilio ports: - "8888:8888" volumes: - D:/同步:/mnt/sync Plex: image: plexinc/pms-docker container_name: Plex ports: - 32400:32400/tcp - 3005:3005/tcp - 8324:8324/tcp - 32469:32469/tcp - 1900:1900/udp - 32410:32410/udp - 32412:32412/udp - 32413:32413/udp - 32414:32414/udp environment: TZ: "Asia/Shanghai" PLEX_CLAIM: "claim从后面得网址获取" #https://www.plex.tv/claim/ ADVERTISE_IP: "http://0.0.0.0:32400/" volumes: