我的客户需要接受一堆不同的视频文件并将其转换为FLV.我在以前的项目中使用FFMEG的经验强调了会有一些麻烦的文件.
根据价格,我的客户将支付专业服务费用.
人们在使用什么以及如何找到这项服务?
谢谢.
我一直在尝试实现一个类似 Plex 的视频播放器,可以按需转码任意视频文件,并在网页上使用 MPEG-Dash 播放它。我能够使用dash.js参考实现来实现客户端播放器,因此它将动态地从服务器请求片段(SegmentTemplate在 mpd 文件中使用)。
但我在实时生成这些块时遇到一些问题。Ffmpeg 允许我设置-ss和-t定义所需片段的边界,但它们无法在播放器中正常播放,因为它们是“完整”视频文件而不是 Dash 片段。
那么,如何调整 ffmpeg 命令以将我需要的部分转码为 Dash 片段,而无需提前生成整个视频文件的片段?
输入视频文件可以是任何格式,因此不能假设它采用 mp4/dash 兼容的编解码器。因此需要转码(使用ffmpeg或类似工具)。
我当前的 ffmpeg 命令如下所示(经过多次尝试):
ffmpeg -ss 10 -t 5 -i video.mkv -f mp4 -c:a aac -c:v h264 -copyts -movflags empty_moov+frag_keyframe temp/segment.mp4
Run Code Online (Sandbox Code Playgroud)
客户端播放器应该能够缓冲接下来的 X 段,并且用户应该能够查看持续时间栏上的当前位置并寻找不同的位置。因此,将其视为直播并不是一个选择。
24 位样本大小对于 PCM/WAV 数据来说并不罕见,因此我很惊讶地看到这一点:
Invalid sample format 's24'
Run Code Online (Sandbox Code Playgroud)
...当我运行这个时:
ffmpeg -i input.oga -y -f wav -ar 44100 -sample_fmt s24 -ac 2 output.wav
Run Code Online (Sandbox Code Playgroud)
当我查看 ffmpeg FAQ 页面时,它说它不支持签名的 24 位样本大小。
很公平,但我很难接受这个支持大量格式的非常强大的工具在某种程度上缺少对这种真正常见的样本宽度的支持。
我能想到的是,也许这是一个构建配置问题。
所以这个问题是...
有没有办法配置 ffmpeg 以支持签名的 24 位 WAV 输出?
我想在VLC支持的音频格式之间进行内存转换.例如从MP3到PCM波.由于各种原因(速度,实时流),无法将文件写入磁盘,转换并读回.这一切都必须在记忆中完成.我对VLC API不太熟悉,所以这很可能是一个微不足道的问题.
从我在Codeproject文章中看到的内容可以使用VLC 1.2中的"Memory Renderer"来完成.但是它没有说输入.
如何使用VLC进行音频格式的内存转换(思考System.IO.Stream)?
最佳情况:输入(源)和输出(目标)在内存中.
可以解决:输出在内存中.
为此,我已经看了好几个项目.Vlc > = 1.2的唯一一个(我能看到的)是VlcDotNet.但同样,也许这个功能在1.2之前出现过?
我有一个HTML5应用程序,允许用户上传和播放他们的音频文件.服务器是在Heroku上运行的节点.
为了允许跨浏览器音频播放,我理解的是我必须至少维护每个音频文件的两种格式,比如.mp3和.ogg.所以,我需要在服务器端自动转码文件.
问题是Heroku没有运行ffmpeg.我发现这个项目为heroku创建了一个支持ffmpeg的自定义buildpack,但它似乎适用于Rails应用程序:https://github.com/dzello/ffmpeg-heroku.
我正在考虑运行一个外部服务器进行转码,我的nodejs app将文件发送给它,它进行转码,并在我的nodejs服务器上重新上传新文件.但我不知道如何设置这样的服务器,以及是否已经有一个现成的解决方案来完成这种工作?
所以,这是我的问题:
1- Is there a solution to run ffmpeg on heroku+nodejs?
2- How can I set up a transcoding server that communicates with my nodejs+heroku server?
Run Code Online (Sandbox Code Playgroud)
谢谢!
我有一个使用Apache Batik转换PNG的问题是不同的,当有一个不同的字体系列的文本,如Arial.问题出现在Cent OS 6运行Tomcat 7和Java 6的环境中.
用于将SVG转换为PNG的Java代码是:
// Convert the SVG image to png and send back
PNGTranscoder transcoder = new PNGTranscoder();
//
TranscoderInput input = new TranscoderInput(new ByteArrayInputStream(svgImage));
outStream = new ByteArrayOutputStream();
TranscoderOutput output = new TranscoderOutput(outStream);
// Transcode the given SVG
transcoder.transcode(input, output);
outStream.flush();
pngImage = outStream.toByteArray();
Run Code Online (Sandbox Code Playgroud)
我要转换为PNG的SVG文件是:
<svg version="1.1" x="0" y="0" id="hjtqebzv1" width="610" height="240" xmlns="http://www.w3.org/2000/svg" xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:xlink="http://www.w3.org/1999/xlink">
<defs>
<linearGradient id="LFFFFFF0" x1="0%" y1="0%" x2="100%" y2="0%">
<stop offset="0%" style="stop-color:#FFFFFF;stop-opacity:0.8"/>
<stop offset="100%" style="stop-color:#FAFAFA;stop-opacity:1"/>
</linearGradient>
</defs>
<g id="hjtqebzv-o1" transform="translate(5,5)">
<rect x="1" …Run Code Online (Sandbox Code Playgroud) 如何使用Python将wav文件转码为ogg vorbis格式?
我可以使用PyMedia 1.3.7.3转换为mp3,但是当我将输出流类型设置为'ogg'时,我收到错误:oggvorbis_encode_init: init_encoder failed脚本死了.
我需要使用C#转码视频流.该流进来的各种格式,比如MP4,H264,H263,VP8.有没有可以转码的c#库MemoryStream?
我正在尝试使用 ffmpeg(在 OSX 上运行)使用以下命令将基本 mp4 视频转换为 HLS 视频:
ffmpeg -i SampleVideo_1280x720_10mb.mp4 -codec:v libx264 -codec:a aac -strict experimental -start_number 1 out.m3u8
Run Code Online (Sandbox Code Playgroud)
它确实设法生成所有.ts片段文件,但生成的.m3u8播放列表文件仅列出最后四个片段文件,删除任何较早的片段。帮助?
在我的 Django 应用程序中,上传的视频文件使用 ffmpeg 转码为某种特定格式。
我现在需要一种方法来可靠地检测上传的视频是否有 Alpha 通道。我通常使用 ffprobe 来获取视频元数据。你能指出我正确的方向吗?