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支持的解码更为强大。

  • 相关阅读:
    多重背包POJ1276不要求恰好装满 poj1014多重背包恰好装满
    哈理工1053完全背包
    求最小公倍数与最大公约数的函数
    Bus Pass ZOJ 2913 BFS 最大中取最小的
    POJ 3624 charm bracelet 01背包 不要求装满
    HavelHakimi定理(判断一个序列是否可图)
    z0j1008Gnome Tetravex
    ZOJ 1136 Multiple BFS 取模 POJ 1465
    01背包 擎天柱 恰好装满 zjut(浙江工业大学OJ) 1355
    zoj 2412 水田灌溉,求连通分支个数
  • 原文地址:https://www.cnblogs.com/a-xu/p/4861162.html
Copyright © 2011-2022 走看看