Quantcast
Channel: Aphirak JANSANG » ffmpeg
Viewing all articles
Browse latest Browse all 3

[ffmpeg] การแปลงไฟล์ video จาก flv เป็น mp4 ด้วยโปรแกรม ffmpeg

$
0
0

การแปลงไฟล์ video ที่อยู่ในรูปแบบ flv เป็นไฟล์ mp4 สามารถใช้โปรแกรม ffmpeg จัดการได้

ซึ่งในหัวข้อนี้จะอ้างอิงด้วยโปรแกรม ffmpeg รุ่น 0.10.4-6:0.10.4-0ubuntu0jon2~oneiric1 Copyright (c) 2000-2012 the FFmpeg developers ของ ubuntu นะครับ

โดยติดตั้งจากแหล่งดาวโหลดเพิ่มเติม https://launchpad.net/~jon-severinsson/+archive/ffmpeg

1. ตัวอย่างคำสั่งในการแปลงจาก File.flv เป็น File.mp4 สามารถเรียกใช้แบบง่ายๆ ดังนี้

  • ffmpeg -i File.flv File.mp4
aphirak@apj-nb:~$ ffmpeg -i File.flv File.mp4
ffmpeg version 0.10.4-6:0.10.4-0ubuntu0jon2~oneiric1 Copyright (c) 2000-2012 the FFmpeg developers
 built on Jun 12 2012 23:03:12 with gcc 4.6.1
...
 Stream mapping:
 Stream #0:0 -> #0:0 (h264 -> mpeg4)
 Stream #0:1 -> #0:1 (aac -> libvo_aacenc)
Press [q] to stop, [?] for help
frame= 4741 fps=120 q=31.0 Lsize=   11627kB time=00:02:38.19 bitrate= 602.1kbits/s    
video:9019kB audio:2474kB global headers:0kB muxing overhead 1.162640%

โปรแกรมจะแปลงไฟล์ File.flv เป็นไฟล์ .mp4 โดยแปลงรูปแบบ (re-encode) Stream ที่ 0:0 จาก h264 เป็น mpeg4 และ Stream ที่ 0:1 จาก acc เป็น libvo_aacenc

2. ถ้าต้องการแปลงจาก File.flv เป็น File.mp4 โดยไม่มีการแปลงรูปแบบ เพิ่ม option ให้ copy stream ที่เป็นภาพและเสียงด้วยคำสั่ง -vcodec copy และ -acodec copy ดังนี้

  • ffmpeg -i File.flv -v codec copy -acodec copy File.mp4
aphirak@apj-nb:~$ ffmpeg -i File.flv -vcodec copy -acodec copy File.mp4
ffmpeg version 0.10.4-6:0.10.4-0ubuntu0jon2~oneiric1 Copyright (c) 2000-2012 the FFmpeg developers
 built on Jun 12 2012 23:03:12 with gcc 4.6.1
...
Stream mapping:
 Stream #0:0 -> #0:0 (copy)
 Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
frame= 4741 fps=  0 q=-1.0 Lsize=   16591kB time=00:02:38.15 bitrate= 859.3kbits/s    
video:13944kB audio:2446kB global headers:0kB muxing overhead 1.224759%

3. ถ้าต้องการ copy เฉพาะ stream แรกอย่างเดียว (Stream #0:0) จากไฟล์ File.flv ไปที่ File.mp4 โดยไม่มีแปลงรูปแบบด้วยคำสั่ง -map 0:0 -c:v copy

  • ffmpeg -i File.flv -map 0:0 -c:v copy File.mp4
aphirak@apj-nb:~$ ffmpeg -i File.flv -map 0:0 -c:v copy File.mp4
ffmpeg version 0.10.4-6:0.10.4-0ubuntu0jon2~oneiric1 Copyright (c) 2000-2012 the FFmpeg developers
 built on Jun 12 2012 23:03:12 with gcc 4.6.1
...
Stream mapping:
 Stream #0:0 -> #0:0 (copy)
Press [q] to stop, [?] for help
frame= 4741 fps=  0 q=-1.0 Lsize=   13991kB time=00:02:38.15 bitrate= 724.7kbits/s    
video:13944kB audio:0kB global headers:0kB muxing overhead 0.337634%

4. ถ้าต้องการ copy เฉพาะ stream เสียงที่สองอย่างเดียว (Stream #0:1) จากไฟล์ File.flv ไปที่ File.mp3 โดยไม่มีแปลงรูปแบบด้วยคำสั่ง -map 0:1 -c:a copy

  • ffmpeg -i File.flv -map 0:1 -c:a copy File.mp3
aphirak@apj-nb:~$ ffmpeg -i File.flv -map 0:1 -c:a copy File.mp3
ffmpeg version 0.10.4-6:0.10.4-0ubuntu0jon2~oneiric1 Copyright (c) 2000-2012 the FFmpeg developers
 built on Jun 12 2012 23:03:12 with gcc 4.6.1
...
Stream mapping:
 Stream #0:1 -> #0:0 (copy)
Press [q] to stop, [?] for help
size=    2446kB time=00:02:38.31 bitrate= 126.6kbits/s    
video:0kB audio:2446kB global headers:0kB muxing overhead 0.027074%

ข้อมูลเพิ่มเติม สามารถไปอ่านได้จาก (For more informations, please visit the links below)

5. คำสั่งสำหรับเช็คอัตราเฟรมของไฟล์วิดีโอ โดยใช้วิธีการ extract ข้อมูลมาจากคำสั่ง ffmpeg -i file.mp4

ffmpeg -i avengers.mp4 2>&1 | sed -n "s/.*, \(.*\) fp.*/\1/p"

- How to use map option ของ ffmpeg http://ffmpeg.org/trac/ffmpeg/wiki/How%20to%20use%20-map%20option

- Convert flv to mp4 http://www.learnosity.com/techblog/index.cfm/2010/12/29/Convert-FLV-to-MP4-with-ffmpeg-Howto

- How to extract frame rate of video files http://askubuntu.com/questions/110264/how-to-find-frames-per-second-of-any-video-file

Share


Viewing all articles
Browse latest Browse all 3

Trending Articles