这是感兴趣的视频的mplayer输出:
br@carina:/tmp$ mplayer foo.mov
mplayer: Symbol `ff_codec_bmp_tags' has different size in shared object, consider re-linking
MPlayer 1.0rc4-4.5.2 (C) 2000-2010 MPlayer Team
mplayer: could not connect to socket
mplayer: No such file or directory
Failed to open LIRC support. You will not be able to use your remote control.
Playing foo.mov.
libavformat file format detected.
[lavf] stream 0: video (h264), -vid 0
[lavf] stream 1: audio (aac), -aid 0, -alang eng
VIDEO: [H264] 1280x720 24bpp 59.940 fps 2494.2 kbps (304.5 kbyte/s) …Run Code Online (Sandbox Code Playgroud) 因此,从我的Web服务器,我想使用FFMPEG转码媒体文件以用于HTML <audio>或<video>标记.够容易吧?
当HTTP客户端请求转换后的文件时,转换需要实时进行.理想情况下,文件将被转码回HTTP客户端,因为它正在进行转码(而不是之后的结尾,因为在任何数据开始被发回之前可能需要一段时间).
这很好,除了在今天的浏览器中,HTML5音频或视频标签使用Range标头在多个HTTP请求中请求媒体文件.有关详情,请参阅此问题.
在上面链接的那个问题中,你可以看到Safari请求文件的奇怪块,包括结尾的几个字节.这带来了一个问题,即Web服务器必须等待转换完成,以便传送文件的最后字节以符合Range请求.
所以我的问题是,我的思路是否合适?是否有更好的方法可以将转码内容提供给<audio>或者<video>标记,而不必等待整个转换完成?提前致谢!
任何人都可以建议如何MP4从HLS流构建文件(与您通常想要的相反)?说我有m3u8 - 是否有一种直接的方式来获得一个MP4使用FFMPEG或其他工具?
我正在编写一个与使用ISO-8859-1的网站配合使用的Chrome扩展程序.只是为了给出一些背景信息,我的扩展功能是通过添加更方便的帖子表单来更快地在网站的论坛中发帖.然后通过Ajax调用(使用jQuery)发送写入消息的textarea的值.
如果邮件包含á这些字符,则在发布的邮件中显示为Ã.强制浏览器显示UTF-8而不是ISO-8859-1使得á显示正确.
我的理解是Javascript使用UTF-8作为其字符串,因此我的理论是,如果我在发送之前将字符串转码为ISO-8859-1,它应该可以解决我的问题.然而似乎没有直接的方法在Javascript中进行这种转码,我无法触及服务器端代码.有什么建议?
我已经尝试将创建的表单设置为使用iso-8859-1,如下所示:
var form = document.createElement("form");
form.enctype = "application/x-www-form-urlencoded; charset=ISO-8859-1";
Run Code Online (Sandbox Code Playgroud)
并且:
var form = document.createElement("form");
form.encoding = "ISO-8859-1";
Run Code Online (Sandbox Code Playgroud)
但这似乎不起作用.
编辑:
问题实际上是jQuery如何对消息进行urlencoding(或者其他方面),我通过告诉jQuery不处理数据并自己完成这个来解决这个问题,如下面的代码片段所示:
function cfaqs_post_message(msg) {
var url = cfaqs_build_post_url();
msg = escape(msg).replace(/\+/g, "%2B");
$.ajax({
type: "POST",
url: url,
processData: false,
data: "message=" + msg + "&post=Preview Message",
success: function(html) {
// ...
},
dataType: "html",
contentType: "application/x-www-form-urlencoded"
});
}
Run Code Online (Sandbox Code Playgroud) javascript utf-8 iso-8859-1 transcoding google-chrome-extension
我想抓住最后一帧的视频(.mpg,.avi,等等),并转储到一个图像文件(.jpg,.png,等等).工具链是一个现代的Linux 命令行,所以像mencoder,transcode,ffmpeg&C.
干杯,鲍勃.
从AV_SAMPLE_FMT_S16P转换到AV_SAMPLE_FMT_S16时会发生什么?AVFrame结构如何包含平面和非平面数据?
当管道mpegts到ffmpeg,它应该将其转换为mp4并管道转换为stdout时,ffmpeg说:"muxer不支持非可搜索输出".
经过大量的研究后,我得出的结论是mp4是一种不好的选择,可以通过搜索来进行各种动态转码.所以从本质上说:MP4不能通过ffmpeg进行管道传输,这是有道理的.
但我没有连续的mpegts流,我有5秒钟的块.所以它真的就像:
我需要这些用于HTML5 MediaSource的mp4块,碎片没有问题,我使用mp4box.js,它就像一个魅力.
问题:
本质上:我可以(不知何故)与ffmpeg交互而不使用文件吗?我目前的解决方案适用于文件和轮询新的块,这是丑陋的.
如果您对我的ffmpeg命令感兴趣,请告诉我.
我正在尝试修复一些使用iDevice制作的视频.视频在元数据中有一个轮换,只有Apple及其软件才能理解,但其他人无法理解.修复此问题非常简单,但我还想将其他元数据保留在文件中,例如地理位置.
我尝试了几个版本,都有相同的结果,例如:
ffmpeg -i input.mov -vf vflip,hflip -map_metadata 0 -metadata:s:v:0 rotate=0 -acodec copy output.mp4
Run Code Online (Sandbox Code Playgroud)
这应该有效,它已经提供了正确的元数据预览:
ffmpeg version 1.1.2 Copyright (c) 2000-2013 the FFmpeg developers
built on Feb 8 2013 23:55:22 with Apple clang version 4.0 (tags/Apple/clang-421.0.60) (based on LLVM 3.1svn)
configuration: --prefix=/usr/local/Cellar/ffmpeg/1.1.2 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-nonfree --enable-hardcoded-tables --enable-avresample --cc=cc --host-cflags= --host-ldflags= --enable-libx264 --enable-libfaac --enable-libmp3lame --enable-libxvid
libavutil 52. 13.100 / 52. 13.100
libavcodec 54. 86.100 / 54. 86.100
libavformat 54. 59.106 / 54. 59.106
libavdevice 54. 3.102 / 54. 3.102 …Run Code Online (Sandbox Code Playgroud) 我想批量转换包含数百个FLV文件的目录,以便每个文件都具有MP4等效项.我正在尝试通过编写shell脚本并从终端运行它来自动执行此过程.我该怎么做呢?大多数可用的指令都是针对使用ffmpeg的Linux,但我认为OS X没有它.谢谢.
我知道如何使用AVAssetReader和AVAssetWriter,并成功地使用它们从一部电影中获取视频轨道并将其转码为另一部电影.但是,我也想用音频来做这件事.在完成初始转码后,我是否必须创建和AVAssetExportSession,或者在写入会话期间是否有某种方式在轨道之间切换?我不想处理AVAssetExportSession的开销.
我问,因为,使用拉式方法 - (while([assetWriterInput isReadyForMoreMediaData]){...} - 仅假设一个轨道.它如何用于多个轨道,即音频和视频轨道?
transcoding ×10
ffmpeg ×7
video ×4
audio ×2
mencoder ×2
mp4 ×2
avfoundation ×1
html5 ×1
imagemagick ×1
ios ×1
iphone ×1
iso-8859-1 ×1
javascript ×1
libav ×1
macos ×1
mpeg-dash ×1
mplayer ×1
shell ×1
unix ×1
utf-8 ×1