转码音频和视频

时间:2008-08-09 22:20:00

标签: audio video mp3 flv mp4

转码音频和视频以在网络上展示的最佳方式是什么?

我需要以编程方式进行。我想做一些像YouTube或谷歌视频这样的用户可以上传他们想要的任何格式,我将其编码为flv,mp3和/或mp4。我可以在我们的服务器上做,但我宁愿使用EC2实例甚至是Web服务。我们有一台Windows 2008服务器。

8 个答案:

答案 0 :(得分:3)

取决于你想花多少钱。如果这是一个全新的(并且大部分没有资金)想法,那么就去ffmpeg路线,但是当你扩展并期望提高质量时,可以考虑一种可以自动化的专业编码工具(Rhozet,Inlet,Digital Rapids是3个选项)。

答案 1 :(得分:2)

如果你想转码为Flv(这可能是最好的网络),那么我使用这一行:

ffmpeg -hq -y -i $directory/$file -r 20 -s 300x200 -deinterlace -ar 22050 $directory/$file.flv 1>/dev/null 2>/dev/null

它的工作原理非常好,当然在linux下: - )。

答案 2 :(得分:2)

ffmpeg可以做到这一点,它是一个使用libavcodec的命令行工具。可以处理大多数视频格式的转换。它的许可证是LPGL,如果它符合您的需求。您可以通过编程方式将其用作单独的过程,或者如果您感觉硬核,则可以自己使用libavcodec库直接编码。

答案 3 :(得分:2)

我强烈推荐ffmpeg。在Windows上,我发现this site可以托管好的二进制文件。

答案 4 :(得分:1)

如果您正在寻找GPL的东西:

对于音频捣乱,请尝试sox.非常强大!它做了很多!它包含在大多数Linux发行版中。

还有着名的LAME用于mp3 [音频]编码。

对于视频,mencoder令人印象深刻!它是mplayer包的一部分。它将处理大多数视频格式的转换。远远超过我梦寐以求的存在。 (有关文档,请参阅Chapter 9. Basic usage of MEncoderChapter 10. Encoding with MEncoder。)

它可以创造的东西有点受限。但它确实支持 mpeg4 mpeg2 dvd-mpeg flv 等等。 (虽然我自己没有尝试过 flv ,谷歌显示其他人正在使用它。)

我做过像jpeg + sound这样的事情 - > mpeg4电影:

nice +20 $MENCODER mf://${JPEGFILE}  -mf w=720:h=480:fps=1/${SOUNDLENGTH}:type=jpeg -audiofile ${SOUNDFILE} -ovc lavc -oac lavc -lavcopts vcodec=mpeg4 -ofps 30000/1001 -o ${MENU_MPG}

或将任意格式的视频转码为dvd兼容的mpeg:

nice +20 $MENCODER -edl ${EDL} -ovc lavc -oac lavc -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=${VBITRATE}:keyint=18:acodec=ac3:abitrate=192:aspect=4/3:trell:mbd=2:dia=4:cmp=3:precmp=3:ildctcmp=3:subcmp=3:mbcmp=3:cbp:mv0:dc=10 -of mpeg -mpegopts format=dvd -vf scale=720:480,harddup -srate 48000 -af lavcresample=48000 -ofps 30000/1001 -o ./${INFILE}.reformatted  ${FILEPATH}

-edl / -edlout [编辑决策列表]用于剪切我想要的视频部分。

对于DVD-mpeg-video,

$ {VBITRATE}通常为5000。但是,如果你稍微扯一下,你可以将更多视频压缩到DVD上。假设你可以容忍这些文物。

scale = 720:480,harddup - 我的dvdplayer规模错误,以及在我的“el cheapo”播放器上解决声音视频不同步问题的问题很少。

(要在不能处理4x3视频的宽屏播放器上播放,我使用了像“aspect = 16/9”这样的暴行,“ - vf scale = 560:480 ,expand = 720:480,harddup“。但一般来说,你不想浪费编码黑条的位。)

到目前为止,这不是mencoder最有效的选项集!运行起来可能很费时间。但我心中还有其他目标......

答案 5 :(得分:1)

请注意ffmpeg的某些部分属于GPL。我相信libpostproc模块是,如果我没记错的话,它用于转码。确保此许可证与您正在执行的操作兼容。

答案 6 :(得分:1)

我会看看Main Concept的参考SDK:

http://www.mainconcept.com/site/developer-products-6/pc-based-sdks-20974/reference-sdk-21221/information-21243.html

它是为转码而构建的,因为它是一个许可的SDK,它没有围绕ffmpeg / libavcodec的任何法律问题。

答案 7 :(得分:0)

Rhozet Carbon Coder可以处理wide range of formats加上您可以使用插件来修改视频(例如添加水印)