zoukankan      html  css  js  c++  java
  • mp3 切割

    开源的东东很不错,摘了一段好文:

    常在听mp3或其他格式音乐的朋友,有时会有特别喜欢的片段,例如副歌的部份会想拿来做手机的铃声。这时候就需要一些处理音效的软体,例如之前提过的 Audacity。其实还有更简便的方法,只要系统中有安装好的ffmpeg,一行指令就OK了,相当简单。让我们分成两步骤来完成他吧!

    第一步先用播放软体将想要处理的音乐档桉听一次,把想独立出来部份的时间记下来,看是几分几秒到几分几秒。记好后,第一步也就完成了。

    第二步就是下指令了。

    # ffmpeg -i input.mp3 -ss hh:mm:ss -t hh:mm:ss -acodec copy output.mp3

    参数说明:
    -ss : 指定从那裡开始
    -t : 指定到那裡结束
    -acodec copy : 编码格式和来源档桉相同(就是mp3)


    这方法不只是MP3可以用,其他的许多格式也都适用,只是输出档桉的副档名就要跟着改一改了。

    以下举个例子,如果我想把aa.mp3中的1分12秒到1分42秒的地方切出来,然后存成bb.mp3,指令如下

    # ffmpeg -i aa.mp3 -ss 00:01:12 -t 00:01:42 -acodec copy bb.mp3


    就是这么简单,而且处理速度超级快。一下子完成了。

     FFMPEG还有一个不错的脚本,值得推荐

    #!/bin/bash
      #cut/join videos using ffmpeg without quality loss
       
      if [ -z $1 ] || [ -z $2 ]; then
      echo "Usage:$0 c[ut] seconds <File>"
      echo " eg. $0 c 10 80 example.mp4"
      echo " eg. $0 c 00:00:10 00:01:20 example.mp4"
      echo "Usage:$0 j[oin] <FileType>"
      echo " eg. $0 j avi"
      exit
      fi
       
      case "$1" in
      c)
      echo "cuttig video..."
      fileName=$(echo $4 | cut -f 1 -d '.')
      fileType=$(echo $4 | cut -f 2 -d '.')
      ffmpeg -i $4 -ss $2 -t $3 -acodec copy -vcodec copy $fileName-$2-$3.$fileType
      ;;
      j)
      echo "joinning videos..."
      rm temp_list.txt
      for f in `ls *.$2 | sort -k 1n -t '.'`; do echo "file '$f'" >> temp_list.txt; done
      #printf "file '%s' " ./*.$2 > temp_list.txt
      ffmpeg -f concat -i temp_list.txt -c copy output.$2
      rm temp_list.txt
      ;;
      *)
      echo "wrong arguments"
      ;;
      esac
      exit

    github网址:https://gist.github.com/imcaspar/8771268

    另外还有一个不错的方案:

       libmad是一个开源mp3解码库,其对mp3解码算法做了很多优化,性能较好,很多播放器如mplayer、xmms等都是使用这个开源库进行解码的;如果要设计mp3播放器而又不想研究mp3解码算法的话,libmad是个不错的选择

    可以试试,我觉得第一个如果可以足以,并且ffpmg支持的解码更为强大。

  • 相关阅读:
    [转]如何才能在 IIS 7.5 使用 Windows PowerShell SnapIn 功能
    VS2010 生成序列图实例
    Jquery Ajax调用asmx出错问题
    [转载]通过HttpWebRequest在后台对WebService进行调用
    手机网站自适应
    sqlserver内存释放
    程序集强命名的作用
    MVP,MVVM,MVC
    浮点类型的特殊性知多少
    Directly querying the BizTalk database for suspended messages
  • 原文地址:https://www.cnblogs.com/a-xu/p/4861162.html
Copyright © 2011-2022 走看看