Try Documentalist,
my app that offers fast, offline access to 190+ programmer API docs.
ffprobe
Running ffprobe:
./ffprobe -show_format -show_streams -print_format json ${file}
7570 files
Format stats:
mp3: 1
gif: 1
srt: 3
matroska,webm: 10
tty: 13
image2: 60
flv: 97
mpeg: 116
avi: 467
mov,mp4,m4a,3gp,3g2,mj2: 3085
asf: 3648
Audio codec stats:
pcm_u8: 1
vorbis: 1
dca: 1
pcm_mulaw: 1
pcm_s16be: 3
wmav1: 4
pcm_s16le: 6
ac3: 36
mp2: 121
wmapro: 369
mp3: 460
aac: 3148
wmav2: 3272
Video codec stats:
mpeg2video: 1
vp8: 1
gif: 1
flv: 1
msmpeg4v2: 2
vc1: 6
vp6f: 6
msmpeg4: 9
wmv1: 12
ansi: 13
mjpeg: 65
mpeg1video: 115
wmv2: 153
mpeg4: 463
h264: 3146
wmv3: 3507
Sample result:
{
"streams": [
{
"index": 0,
"codec_name": "wmav2",
"codec_long_name": "Windows Media Audio 2",
"codec_type": "audio",
"codec_time_base": "1/44100",
"codec_tag_string": "a[1][0][0]",
"codec_tag": "0x0161",
"sample_fmt": "fltp",
"sample_rate": "44100",
"channels": 2,
"bits_per_sample": 0,
"r_frame_rate": "0/0",
"avg_frame_rate": "0/0",
"time_base": "1/1000",
"start_pts": 0,
"start_time": "0.000000",
"duration_ts": 1491250,
"duration": "1491.250000",
"bit_rate": "48024",
"disposition": {
"default": 0,
"dub": 0,
"original": 0,
"comment": 0,
"lyrics": 0,
"karaoke": 0,
"forced": 0,
"hearing_impaired": 0,
"visual_impaired": 0,
"clean_effects": 0,
"attached_pic": 0
}
},
{
"index": 1,
"codec_name": "wmv3",
"codec_long_name": "Windows Media Video 9",
"profile": "Main",
"codec_type": "video",
"codec_time_base": "1/1000",
"codec_tag_string": "WMV3",
"codec_tag": "0x33564d57",
"width": 640,
"height": 480,
"has_b_frames": 0,
"sample_aspect_ratio": "1:1",
"display_aspect_ratio": "4:3",
"pix_fmt": "yuv420p",
"level": -99,
"r_frame_rate": "24/1",
"avg_frame_rate": "0/0",
"time_base": "1/1000",
"start_pts": 0,
"start_time": "0.000000",
"duration_ts": 1491250,
"duration": "1491.250000",
"bit_rate": "1000000",
"disposition": {
"default": 0,
"dub": 0,
"original": 0,
"comment": 0,
"lyrics": 0,
"karaoke": 0,
"forced": 0,
"hearing_impaired": 0,
"visual_impaired": 0,
"clean_effects": 0,
"attached_pic": 0
}
}
],
"format": {
"filename": "/Volumes/Store/v/01.04.08.Rebecca.wmv",
"nb_streams": 2,
"nb_programs": 0,
"format_name": "asf",
"format_long_name": "ASF (Advanced / Active Streaming Format)",
"start_time": "0.000000",
"duration": "1491.250000",
"size": "196382414",
"bit_rate": "1053518",
"probe_score": 100,
"tags": {
"WMFSDKVersion": "10.00.00.4357",
"WMFSDKNeeded": "0.0.0.0000",
"IsVBR": "0",
"DeviceConformanceTemplate": "[email protected]",
"WM/WMADRCPeakReference": "13693",
"WM/WMADRCAverageReference": "659"
}
}
}
links
- https://github.com/leandromoreira/ffmpeg-libav-tutorial
- http://ffmpeg.zeranoe.com/builds/ - windows builds
- https://github.com/hudl/HudlFfmpeg - C# wrapper
- http://www.nrecosite.com/video_converter_net.aspx - $149 c# wrapper
- https://github.com/Ruslan-B/FFmpeg.AutoGen - auto-generated c# wrapper
- https://tech.dropbox.com/2014/02/video-processing-at-dropbox/ - has cmd-line args that Dropbox uses to transcode using ffmpeg