作者 主題: Service Side Vidoe Split script , use mencoder  (閱讀 3042 次)

0 會員 與 1 訪客 正在閱讀本文。

Darkhero

  • 酷!學園 學長們
  • 俺是博士!
  • *****
  • 文章數: 3728
  • 性別: 男
    • 檢視個人資料
    • ㄚ凱隨手紀
因為有需求所以查了一下 mencoder 的用法.

用下面的 script 可以把一個一小時的 mpe 檔,切格為 6 個各10分鐘的檔案.
用來幹麼呢?... 因為... Youtube 每個影片長度限制是 10 分鐘...

用這個就可以直接在 Linux Server 上面切割檔案了...
代碼: [選擇]
#!/bin/sh
mencoder -ss 00:00:00 -endpos 00:10:00 -oac copy -ovc copy $1 -o $2_01.mpg
mencoder -ss 00:10:00 -endpos 00:10:00 -oac copy -ovc copy $1 -o $2_02.mpg
mencoder -ss 00:20:00 -endpos 00:10:00 -oac copy -ovc copy $1 -o $2_03.mpg
mencoder -ss 00:30:00 -endpos 00:10:00 -oac copy -ovc copy $1 -o $2_04.mpg
mencoder -ss 00:40:00 -endpos 00:10:00 -oac copy -ovc copy $1 -o $2_05.mpg
mencoder -ss 00:50:00 -endpos 00:10:00 -oac copy -ovc copy $1 -o $2_06.mpg


目前的操作方式是 ./split_movie.sh 來源影片檔名 輸出名稱
希望我們的討論是為了把問題解決,而不是爭論誰對誰錯.
『灌水才是重點,發文只是順便』
『我寧可讓不會釣魚的工程師餓死,也不想讓會餓死的工程師去攪沉公司....』
Blog: http://blog.darkhero.net/
秘密基地: http://www.darkhero.net/comic/
目前服務的網站: http://www.libook.com.tw/

darkranger

  • 榮譽學長
  • 俺是博士!
  • *****
  • 文章數: 1370
    • 檢視個人資料
    • http://darkranger.no-ip.org
回覆: Service Side Vidoe Split script , use mencoder
« 回覆 #1 於: 2010-01-02 01:11 »
很實用的指令!

Darkhero

  • 酷!學園 學長們
  • 俺是博士!
  • *****
  • 文章數: 3728
  • 性別: 男
    • 檢視個人資料
    • ㄚ凱隨手紀
回覆: Service Side Vidoe Split script , use mencoder
« 回覆 #2 於: 2010-01-02 20:32 »
用 php 改寫一個簡單的版本...
要搭配 getid3 lib 使用..可以自動判斷檔案長度, 然後切割...

-3600*8 是因為那台機器跑 +8 的 timezone.... 用 strftime 會自動+8....

代碼: [選擇]
#!/usr/bin/php
<?php
require "/usr/share/php-getid3/getid3.php";
$input_name trim($_SERVER[&#39;argv&#39;][1]);
$output_name trim($_SERVER[&#39;argv&#39;][2]);

$getID3 = new getID3;
$fileData $getID3->analyze($input_name);

$count ceil($fileData["playtime_seconds"] / 600);
$command_str "mencoder -ss %s -endpos 00:10:00 -oac faac -ovc copy {$input_name} -o {$output_name}_%02d.mpg";
for(
$i 0;$i $count;$i++){
$start_time strftime("%T",$i*600-3600*8);
$command sprintf($command_str,$start_time,$i+1)."\n";
echo $command;
exec($command);
}
?>


php-getid3 的裝法在 ubuntu 上只要
代碼: [選擇]
sudo apt-get install php-getid3 就可以了.

接著只要另外搭配寫一個 auto_upload_youtube 的功能就好了...可以用 Zend_GData 來達到...
« 上次編輯: 2010-01-02 20:42 由 Darkhero »
希望我們的討論是為了把問題解決,而不是爭論誰對誰錯.
『灌水才是重點,發文只是順便』
『我寧可讓不會釣魚的工程師餓死,也不想讓會餓死的工程師去攪沉公司....』
Blog: http://blog.darkhero.net/
秘密基地: http://www.darkhero.net/comic/
目前服務的網站: http://www.libook.com.tw/

darkranger

  • 榮譽學長
  • 俺是博士!
  • *****
  • 文章數: 1370
    • 檢視個人資料
    • http://darkranger.no-ip.org
回覆: Service Side Vidoe Split script , use mencoder
« 回覆 #3 於: 2010-01-03 19:54 »
這應該收精華區吧,放雜七雜八不太像話....